![]() |
TO COMPLETE
Functions | |
DBusMessage * | create_signal_msg (struct EasyDbus_core *core, struct EasyDbus_signal *signal) |
Create signal DBusMessage. | |
struct EasyDbus_signal * | easydbus_signal_build_skeleton (DBusMessage *msg) |
Create EasyDbus_signal object from DBusMessage. |
DBusMessage* create_signal_msg | ( | struct EasyDbus_core * | core, | |
struct EasyDbus_signal * | signal | |||
) | [inline] |
Create signal DBusMessage.
For internal use only.
core | pointer to struct EasyDbus_core. | |
signal | pointer to struct EasyDbus_signal with signal that must be insert on DBusMessage. |
pointer to DBusMessage with signal message on DBUS format.
Definition at line 166 of file signal.c.
References add_elems_to_msg(), EasyDbus_signal::args, EasyDbus_signal::first, EasyDbus_signal::interface, EasyDbus_signal::name, and EasyDbus_signal::path.
Referenced by easydbus_signal_send().
00168 { 00169 00170 /* create msg */ 00171 DBusMessage *msg = 00172 dbus_message_new_signal (signal->path, signal->interface, 00173 signal->name); 00174 00175 /* add signal data is there are */ 00176 if (msg && signal->args) 00177 add_elems_to_msg (msg, signal->first); 00178 00179 return msg; 00180 }
struct EasyDbus_signal* easydbus_signal_build_skeleton | ( | DBusMessage * | msg | ) | [read] |
Create EasyDbus_signal object from DBusMessage.
For internal use only.
msg | DBusMessage used for create EasyDbus_signal Object |
pointer to EasyDbus_signal object.
Definition at line 192 of file signal.c.
References easydbus_build_skeleton_data(), EASYDBUS_ET_SIGNAL, easydbus_signal_create_skeleton(), easydbus_signal_free_skeleton(), easydbus_signal_set_destination(), easydbus_signal_set_sender(), and EasyDbusDebug.
Referenced by easydbus_signal_handler().
00193 { 00194 struct EasyDbus_signal *signal = NULL; 00195 00196 EasyDbusDebug ("Build Signal Skeleton"); 00197 00198 signal = 00199 easydbus_signal_create_skeleton ( 00200 // path 00201 (char *) dbus_message_get_path (msg), 00202 // interface 00203 (char *) dbus_message_get_interface (msg), 00204 // method 00205 (char *) dbus_message_get_member (msg)); 00206 00207 if (!signal) 00208 return NULL; 00209 00210 if (dbus_message_get_sender (msg)) 00211 easydbus_signal_set_sender (signal, dbus_message_get_sender (msg)); 00212 00213 if (dbus_message_get_destination (msg)) 00214 easydbus_signal_set_destination (signal, 00215 dbus_message_get_destination (msg)); 00216 00217 if (easydbus_build_skeleton_data (msg, EASYDBUS_ET_SIGNAL, signal)) 00218 goto out_of_memory_error; 00219 00220 EasyDbusDebug ("Created signal object"); 00221 00222 return signal; 00223 00224 out_of_memory_error: 00225 if (signal) 00226 easydbus_signal_free_skeleton (signal); 00227 return NULL; 00228 }