| Data Structures | |
| struct | _Eldbus_Arg_Info | 
| struct | _Eldbus_Method | 
| struct | _Eldbus_Method2 | 
| struct | _Eldbus_Signal | 
| struct | _Eldbus_Property | 
| struct | _Eldbus_Service_Interface_Desc | 
| struct | _Eldbus_Service_Interface_Desc2 | 
| Macros | |
| #define | ELDBUS_METHOD_FLAG_DEPRECATED 1 | 
| #define | ELDBUS_METHOD_FLAG_NOREPLY (1 << 1) | 
| #define | ELDBUS_METHOD_FLAG_HAS_DATA (1 << 2) | 
| #define | ELDBUS_SIGNAL_FLAG_DEPRECATED 1 | 
| #define | ELDBUS_PROPERTY_FLAG_DEPRECATED 1 | 
| #define | ELDBUS_INTERFACE_DESCRIPTOR_VERSION 2 | 
| #define | ELDBUS_ARGS(args...) (const Eldbus_Arg_Info[]){ args, { NULL, NULL } } | 
| Used to insert complete types to signature of methods or signals.  More... | |
| Typedefs | |
| typedef struct _Eldbus_Arg_Info | Eldbus_Arg_Info | 
| typedef struct _Eldbus_Service_Interface | Eldbus_Service_Interface | 
| typedef Eldbus_Message *(* | Eldbus_Method_Cb) (const Eldbus_Service_Interface *iface, const Eldbus_Message *message) | 
| typedef Eldbus_Message *(* | Eldbus_Method_Data_Cb) (void *data, const Eldbus_Service_Interface *iface, const Eldbus_Message *message) | 
| typedef Eina_Bool(* | Eldbus_Property_Get_Cb) (const Eldbus_Service_Interface *iface, const char *propname, Eldbus_Message_Iter *iter, const Eldbus_Message *request_msg, Eldbus_Message **error) | 
| Callback function to append property value to message.  More... | |
| typedef Eldbus_Message *(* | Eldbus_Property_Set_Cb) (const Eldbus_Service_Interface *iface, const char *propname, Eldbus_Message_Iter *iter, const Eldbus_Message *input_msg) | 
| Callback function to set property value from message.  More... | |
| typedef struct _Eldbus_Method | Eldbus_Method | 
| typedef struct _Eldbus_Method2 | Eldbus_Method2 | 
| typedef struct _Eldbus_Signal | Eldbus_Signal | 
| typedef struct _Eldbus_Property | Eldbus_Property | 
| typedef struct _Eldbus_Service_Interface_Desc | Eldbus_Service_Interface_Desc | 
| typedef struct _Eldbus_Service_Interface_Desc2 | Eldbus_Service_Interface_Desc2 | 
| Functions | |
| Eldbus_Service_Interface * | eldbus_service_interface_register (Eldbus_Connection *conn, const char *path, const Eldbus_Service_Interface_Desc *desc) | 
| Register an interface in the given path and connection.  More... | |
| Eldbus_Service_Interface * | eldbus_service_interface_fallback_register (Eldbus_Connection *conn, const char *path, const Eldbus_Service_Interface_Desc *desc) | 
| Register a fallback interface handler for a given subsection of the object hierarchy.  More... | |
| Eldbus_Service_Interface * | eldbus_service_interface_register2 (Eldbus_Connection *conn, const char *path, const Eldbus_Service_Interface_Desc2 *desc) | 
| Register an interface in the given path and connection.  More... | |
| Eldbus_Service_Interface * | eldbus_service_interface_fallback_register2 (Eldbus_Connection *conn, const char *path, const Eldbus_Service_Interface_Desc2 *desc) | 
| Register a fallback interface handler for a given subsection of the object hierarchy.  More... | |
| void | eldbus_service_interface_unregister (Eldbus_Service_Interface *iface) | 
| Unregister a interface.  More... | |
| void | eldbus_service_object_unregister (Eldbus_Service_Interface *iface) | 
| Unregister all interfaces of the object path that this interface belongs and the object path.  More... | |
| Eldbus_Connection * | eldbus_service_connection_get (const Eldbus_Service_Interface *iface) | 
| const char * | eldbus_service_object_path_get (const Eldbus_Service_Interface *iface) | 
| Eina_Bool | eldbus_service_signal_emit (const Eldbus_Service_Interface *iface, unsigned int signal_id,...) | 
| Emit a signal handler of the interface with non-complex types.  More... | |
| Eldbus_Message * | eldbus_service_signal_new (const Eldbus_Service_Interface *iface, unsigned int signal_id) | 
| Create signal message.  More... | |
| Eina_Bool | eldbus_service_signal_send (const Eldbus_Service_Interface *iface, Eldbus_Message *signal_msg) | 
| Send a signal message.  More... | |
| void | eldbus_service_object_data_set (Eldbus_Service_Interface *iface, const char *key, const void *data) | 
| Store data at object path, this data can be obtained from all interfaces of the same object.  More... | |
| void * | eldbus_service_object_data_get (const Eldbus_Service_Interface *iface, const char *key) | 
| Get data stored in object path.  More... | |
| void * | eldbus_service_object_data_del (Eldbus_Service_Interface *iface, const char *key) | 
| Del data stored in object path.  More... | |
| Eina_Bool | eldbus_service_property_changed (const Eldbus_Service_Interface *iface, const char *name) | 
| Add property to list of changed properties A DBus.PropertiesChanged signal will be sent in an idler with all properties that have changed.  More... | |
| Eina_Bool | eldbus_service_property_invalidate_set (const Eldbus_Service_Interface *iface, const char *name, Eina_Bool is_invalidate) | 
| Eina_Bool | eldbus_service_object_manager_attach (Eldbus_Service_Interface *iface) | 
| Attach ObjectManager interface.  More... | |
| Eina_Bool | eldbus_service_object_manager_detach (Eldbus_Service_Interface *iface) | 
| Detach ObjectManager interface.  More... | |
| #define ELDBUS_ARGS | ( | args... | ) | (const Eldbus_Arg_Info[]){ args, { NULL, NULL } } | 
Used to insert complete types to signature of methods or signals.
Example: ELDBUS_ARGS({"s", "interface"}, {"s", "property"}) The signature will be "ss" and each string will have a tag name on introspect XML with the respective name.
| typedef Eina_Bool(* Eldbus_Property_Get_Cb) (const Eldbus_Service_Interface *iface, const char *propname, Eldbus_Message_Iter *iter, const Eldbus_Message *request_msg, Eldbus_Message **error) | 
Callback function to append property value to message.
| iface | interface of property | 
| propname | name of property | 
| iter | variant iterator in which value must be appended | 
| request_msg | message that request property | 
| error | if a error happen you must set a message error to be send caller | 
| typedef Eldbus_Message*(* Eldbus_Property_Set_Cb) (const Eldbus_Service_Interface *iface, const char *propname, Eldbus_Message_Iter *iter, const Eldbus_Message *input_msg) | 
Callback function to set property value from message.
| iface | interface of property | 
| propname | name of property | 
| input_msg | message call where you have to get value | 
| Eldbus_Service_Interface* eldbus_service_interface_register | ( | Eldbus_Connection * | conn, | 
| const char * | path, | ||
| const Eldbus_Service_Interface_Desc * | desc | ||
| ) | 
Register an interface in the given path and connection.
| conn | where the interface should listen | 
| path | object path | 
| desc | description of interface | 
References EINA_FALSE.
| Eldbus_Service_Interface* eldbus_service_interface_fallback_register | ( | Eldbus_Connection * | conn, | 
| const char * | path, | ||
| const Eldbus_Service_Interface_Desc * | desc | ||
| ) | 
Register a fallback interface handler for a given subsection of the object hierarchy.
Note: Use eldbus_service_interface_unregister() to unregister a interface.
| conn | where the interface should listen | 
| path | a '/' delimited string of path elements | 
| desc | description of interface | 
References EINA_TRUE.
| Eldbus_Service_Interface* eldbus_service_interface_register2 | ( | Eldbus_Connection * | conn, | 
| const char * | path, | ||
| const Eldbus_Service_Interface_Desc2 * | desc | ||
| ) | 
Register an interface in the given path and connection.
This extended register function allows the registration of stateful methods, with void* data.
Note: Use eldbus_service_interface_unregister() to unregister a interface.
| conn | where the interface should listen | 
| path | object path | 
| desc | description of interface | 
References EINA_FALSE, and _Eldbus_Service_Interface_Desc2::version.
| Eldbus_Service_Interface* eldbus_service_interface_fallback_register2 | ( | Eldbus_Connection * | conn, | 
| const char * | path, | ||
| const Eldbus_Service_Interface_Desc2 * | desc | ||
| ) | 
Register a fallback interface handler for a given subsection of the object hierarchy.
This extended register function allows the registration of stateful methods, with void* data.
Note: Use eldbus_service_interface_unregister() to unregister a interface.
| conn | where the interface should listen | 
| path | a '/' delimited string of path elements | 
| desc | description of interface | 
References EINA_TRUE, and _Eldbus_Service_Interface_Desc2::version.
| void eldbus_service_interface_unregister | ( | Eldbus_Service_Interface * | iface | ) | 
Unregister a interface.
Note: This doesn't unregister the object path if interface count reaches 0. Use eldbus_service_object_unregister() to unregister the object.
| iface | interface to unregister | 
References eina_hash_del(), and EINA_TRUE.
| void eldbus_service_object_unregister | ( | Eldbus_Service_Interface * | iface | ) | 
Unregister all interfaces of the object path that this interface belongs and the object path.
| iface | interface to unregister | 
References eldbus_connection_free_cb_del().
| Eina_Bool eldbus_service_signal_emit | ( | const Eldbus_Service_Interface * | iface, | 
| unsigned int | signal_id, | ||
| ... | |||
| ) | 
Emit a signal handler of the interface with non-complex types.
Each signal handler have a internal id, the first signal handler of interface is = 0 the second = 1 and go on.
| iface | interface of the signal | 
| signal_id | id of signal | 
| ... | values that will be send on signal | 
References eina_array_count(), and EINA_FALSE.
| Eldbus_Message* eldbus_service_signal_new | ( | const Eldbus_Service_Interface * | iface, | 
| unsigned int | signal_id | ||
| ) | 
Create signal message.
Each signal handler have a internal id, the first signal handler of interface is = 0 the second = 1 and go on. This function is used when the signal has complex types.
| iface | interface of the signal | 
| signal_id | id of signal | 
References eina_array_count().
| Eina_Bool eldbus_service_signal_send | ( | const Eldbus_Service_Interface * | iface, | 
| Eldbus_Message * | signal_msg | ||
| ) | 
Send a signal message.
On success this will call eldbus_message_unref() on the signal_msg, which is the intended behavior in 99% of the cases. Remember to increment the refcount if you want to keep it alive.
| iface | interface of the signal | 
| signal_msg | message of signal | 
References EINA_FALSE.
| void eldbus_service_object_data_set | ( | Eldbus_Service_Interface * | iface, | 
| const char * | key, | ||
| const void * | data | ||
| ) | 
Store data at object path, this data can be obtained from all interfaces of the same object.
| iface | interface that belong to the object path where data will be stored | 
| key | to identify data | 
| data | 
| void* eldbus_service_object_data_get | ( | const Eldbus_Service_Interface * | iface, | 
| const char * | key | ||
| ) | 
Get data stored in object path.
| iface | interface that belongs to the object path where data are stored | 
| key | that identify data | 
| void* eldbus_service_object_data_del | ( | Eldbus_Service_Interface * | iface, | 
| const char * | key | ||
| ) | 
Del data stored in object path.
| iface | interface that belongs to the object path where data are stored | 
| key | that identify data | 
| Eina_Bool eldbus_service_property_changed | ( | const Eldbus_Service_Interface * | iface, | 
| const char * | name | ||
| ) | 
Add property to list of changed properties A DBus.PropertiesChanged signal will be sent in an idler with all properties that have changed.
| iface | Interface containing the changed property | 
| name | Property name | 
References EINA_FALSE.
| Eina_Bool eldbus_service_object_manager_attach | ( | Eldbus_Service_Interface * | iface | ) | 
Attach ObjectManager interface.
| iface | ObjectManager will be attach in object path of this interface. | 
References ecore_idle_enterer_del(), EINA_FALSE, eina_hash_add(), eina_hash_find(), and EINA_TRUE.
| Eina_Bool eldbus_service_object_manager_detach | ( | Eldbus_Service_Interface * | iface | ) | 
Detach ObjectManager interface.
| iface | ObjectManager of object path of this interface will be detach. | 
Flush the iface_add/removed of all children objects that this object is the ObjectManager
References EINA_FALSE, eina_hash_del(), EINA_INLIST_FOREACH, and EINA_TRUE.