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. | |
| 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_hash_string_small_new(), EINA_TRUE, eldbus_message_signal_new(), 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.
References eina_hash_del(), and EINA_TRUE.
| 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. |
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.