![]() |
TO COMPLETE
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_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. | |
void | easydbus_obj_signal_free (EasyDbus_obj_signal *signal) |
Free EasyDbus_obj_signal object. |
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.
signal | signal name |
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.
signal | EasyDbus_obj_signal object pointer |
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 }