obj_signal
[object]

Collaboration diagram for obj_signal:

Detailed Description

Module for manage Object signals handling

TO COMPLETE

Obj_Signal Meta Information

Contact:
Daniele Rondina aka Ge@@ru <geaaru@gmail.com>
Status:
EasyDbus Core Library
License:
GPL
Contributor(s):


Data Structures

struct  EasyDbus_obj_signal
 EasyDbus_obj_signal object This struct is used for creation of introspect xml reply.
Signals are received only with a filter and they aren't connect with an object.
From Dbus specification it is only possible define on XML introspect data signal in output from dbus service, not on signal handled from dbus service. More...

Functions

EasyDbus_obj_signaleasydbus_obj_signal_create (char *signal)
 Created EasyDbus_obj_signal object for manage introspectable interface. This struct contains informations about signal sended from registered dbus service.
void easydbus_obj_signal_free (EasyDbus_obj_signal *signal)
 Free EasyDbus_obj_signal object.


Function Documentation

EasyDbus_obj_signal* easydbus_obj_signal_create ( char *  signal  ) 

Created EasyDbus_obj_signal object for manage introspectable interface. This struct contains informations about signal sended from registered dbus service.

Parameters:
signal signal name
Returns:
pointer to EasyDbus_obj_signal object.

NULL on error

Definition at line 58 of file register_signal.c.

References EASYDBUS_MEMCOPY, EasyDbusDebug, EasyDbus_obj_signal::name, EasyDbus_obj_signal::next, and EasyDbus_obj_signal::output_info.

00059 {
00060    int string_length;
00061    struct EasyDbus_obj_signal *signal_skeleton = NULL;
00062 
00063    if (!signal)
00064       return NULL;
00065 
00066    signal_skeleton = (struct EasyDbus_obj_signal *)
00067       malloc (sizeof (struct EasyDbus_obj_signal));
00068 
00069    if (!signal_skeleton)
00070       return NULL;
00071 
00072    signal_skeleton->output_info = NULL;
00073    signal_skeleton->next = NULL;
00074 
00075    string_length = strlen (signal) + 1;
00076    signal_skeleton->name = (char *) malloc (string_length);
00077 
00078    if (!signal_skeleton->name)
00079       goto out_of_memory;
00080 
00081    EASYDBUS_MEMCOPY (signal_skeleton, signal,
00082                      string_length);
00083 
00084    EasyDbusDebug ("Create signal_core %s", signal_skeleton->name);
00085 
00086    return signal_skeleton;
00087 
00088  out_of_memory:
00089    free (signal_skeleton);
00090    return NULL;
00091 }

void easydbus_obj_signal_free ( EasyDbus_obj_signal signal  ) 

Free EasyDbus_obj_signal object.

Parameters:
signal EasyDbus_obj_signal object pointer
Precondition:
signal != NULL

Definition at line 100 of file register_signal.c.

References easydbus_free_introspect_info_arg(), EasyDbusDebug, EasyDbus_obj_signal::name, easydbus_introspect_arg_info::next, and EasyDbus_obj_signal::output_info.

Referenced by easydbus_obj_interface_free_skeleton().

00101 {
00102    struct easydbus_introspect_arg_info *el = NULL;
00103 
00104    if (!signal)
00105       return;
00106 
00107    el = signal->output_info;
00108    while (el) {
00109       signal->output_info = el->next;
00110       easydbus_free_introspect_info_arg (el);
00111       el = signal->output_info;
00112       EasyDbusDebug ("Free of output arg element");
00113    }
00114 
00115    free (signal->name);
00116 
00117    free (signal);
00118 }

Here is the call graph for this function:


Generated on Thu Apr 10 10:03:22 2008 for EasyDbus-0.2 by  doxygen 1.5.4