Macros | |
#define | ELDBUS_TIMEOUT_INFINITE ((int) 0x7fffffff) |
Infinite timeout definition. | |
Typedefs | |
typedef void(* | Eldbus_Connection_Event_Cb) (void *data, Eldbus_Connection *conn, void *event_info) |
Callback called when we receive an event. | |
Enumerations | |
enum | Eldbus_Connection_Type { ELDBUS_CONNECTION_TYPE_UNKNOWN = 0 , ELDBUS_CONNECTION_TYPE_SESSION , ELDBUS_CONNECTION_TYPE_SYSTEM , ELDBUS_CONNECTION_TYPE_STARTER , ELDBUS_CONNECTION_TYPE_ADDRESS , ELDBUS_CONNECTION_TYPE_LAST } |
Enum of several Eldbus connection types. More... | |
enum | Eldbus_Connection_Event_Type { ELDBUS_CONNECTION_EVENT_DEL , ELDBUS_CONNECTION_EVENT_DISCONNECTED , ELDBUS_CONNECTION_EVENT_LAST } |
Enum of several Eldbus connection events. More... | |
Functions | |
Eldbus_Connection * | eldbus_connection_get (Eldbus_Connection_Type type) |
Establish a connection to bus and integrate it with the ecore main loop. More... | |
Eldbus_Connection * | eldbus_private_connection_get (Eldbus_Connection_Type type) |
Always create and establish a new connection to bus and integrate it with the ecore main loop. More... | |
Eldbus_Connection * | eldbus_address_connection_get (const char *address) |
Establish a connection to bus and integrate it with the ecore main loop. More... | |
Eldbus_Connection * | eldbus_private_address_connection_get (const char *address) |
Always create and establish a new connection to bus and integrate it with the ecore main loop. More... | |
Eldbus_Connection * | eldbus_connection_ref (Eldbus_Connection *conn) |
Increment connection reference count. More... | |
void | eldbus_connection_unref (Eldbus_Connection *conn) |
Decrement connection reference count. More... | |
void | eldbus_connection_free_cb_add (Eldbus_Connection *conn, Eldbus_Free_Cb cb, const void *data) |
Add a callback function to be called when connection is freed. More... | |
void | eldbus_connection_free_cb_del (Eldbus_Connection *conn, Eldbus_Free_Cb cb, const void *data) |
Remove callback registered in eldbus_connection_free_cb_add(). More... | |
void | eldbus_connection_data_set (Eldbus_Connection *conn, const char *key, const void *data) |
Set an attached data pointer to an object with a given string key. More... | |
void * | eldbus_connection_data_get (const Eldbus_Connection *conn, const char *key) |
Get data stored in connection. More... | |
void * | eldbus_connection_data_del (Eldbus_Connection *conn, const char *key) |
Del data stored in connection. More... | |
void | eldbus_connection_event_callback_add (Eldbus_Connection *conn, Eldbus_Connection_Event_Type type, Eldbus_Connection_Event_Cb cb, const void *cb_data) |
Add a callback function to be called when an event occurs of the type passed. More... | |
void | eldbus_connection_event_callback_del (Eldbus_Connection *conn, Eldbus_Connection_Event_Type type, Eldbus_Connection_Event_Cb cb, const void *cb_data) |
Remove callback registered in eldbus_connection_event_callback_add(). More... | |
Eldbus_Pending * | eldbus_connection_send (Eldbus_Connection *conn, Eldbus_Message *msg, Eldbus_Message_Cb cb, const void *cb_data, double timeout) |
Send a message. More... | |
const char * | eldbus_connection_unique_name_get (Eldbus_Connection *conn) |
Gets unique name assigned by the message bus. More... | |
Eldbus_Connection * eldbus_connection_get | ( | Eldbus_Connection_Type | type | ) |
Establish a connection to bus and integrate it with the ecore main loop.
If a connection of given type was already created before, its reference counter is incremented and the connection is returned.
type | type of connection e.g ELDBUS_CONNECTION_TYPE_SESSION, ELDBUS_CONNECTION_TYPE_SYSTEM or ELDBUS_CONNECTION_TYPE_STARTER |
References DBG.
Referenced by efl_net_connman_init(), elm_color_class_editor_add(), and ethumb_client_connect().
Eldbus_Connection * eldbus_private_connection_get | ( | Eldbus_Connection_Type | type | ) |
Always create and establish a new connection to bus and integrate it with the ecore main loop.
Differently from eldbus_connection_get(), this function guarantees to create a new connection to the D-Bus daemon and the connection is not shared by any means.
type | type of connection e.g ELDBUS_CONNECTION_TYPE_SESSION, ELDBUS_CONNECTION_TYPE_SYSTEM or ELDBUS_CONNECTION_TYPE_STARTER |
References DBG, and EINA_FALSE.
Eldbus_Connection * eldbus_address_connection_get | ( | const char * | address | ) |
Establish a connection to bus and integrate it with the ecore main loop.
If a connection of given type was already created before, its reference counter is incremented and the connection is returned.
address | the address which will be passed to dbus_connection_open() |
References DBG, and eina_hash_string_small_new().
Eldbus_Connection * eldbus_private_address_connection_get | ( | const char * | address | ) |
Always create and establish a new connection to bus and integrate it with the ecore main loop.
Differently from eldbus_connection_get(), this function guarantees to create a new connection to the D-Bus daemon and the connection is not shared by any means.
address | the address which will be passed to dbus_connection_open_private() |
References DBG.
Eldbus_Connection * eldbus_connection_ref | ( | Eldbus_Connection * | conn | ) |
Increment connection reference count.
conn | The given Eldbus_Connection object to reference. |
References DBG.
void eldbus_connection_unref | ( | Eldbus_Connection * | conn | ) |
Decrement connection reference count.
If reference count reaches 0, the connection to bus will be dropped and all its children will be invalidated.
conn | The given Eldbus_Connection object to unreference. |
References DBG.
Referenced by efl_net_connman_shutdown().
void eldbus_connection_free_cb_add | ( | Eldbus_Connection * | conn, |
Eldbus_Free_Cb | cb, | ||
const void * | data | ||
) |
Add a callback function to be called when connection is freed.
conn | The connection object to add the callback to. |
cb | The callback to be called when the connection is free. |
data | The data passed to the callback. |
References EINA_SAFETY_ON_NULL_RETURN.
Referenced by eldbus_object_get(), and eldbus_signal_handler_add().
void eldbus_connection_free_cb_del | ( | Eldbus_Connection * | conn, |
Eldbus_Free_Cb | cb, | ||
const void * | data | ||
) |
Remove callback registered in eldbus_connection_free_cb_add().
conn | The connection object to delete the callback from. |
cb | The callback that was called when the connection was free. |
data | The data that was passed to the callback. |
References EINA_SAFETY_ON_NULL_RETURN.
Referenced by eldbus_service_object_unregister().
void eldbus_connection_data_set | ( | Eldbus_Connection * | conn, |
const char * | key, | ||
const void * | data | ||
) |
Set an attached data pointer to an object with a given string key.
conn | The connection object to store data to |
key | to identify data |
data | data that will be stored |
References EINA_SAFETY_ON_NULL_RETURN.
void * eldbus_connection_data_get | ( | const Eldbus_Connection * | conn, |
const char * | key | ||
) |
Get data stored in connection.
conn | connection where data is stored |
key | key that identifies data |
References EINA_SAFETY_ON_NULL_RETURN_VAL.
void * eldbus_connection_data_del | ( | Eldbus_Connection * | conn, |
const char * | key | ||
) |
Del data stored in connection.
conn | connection where data is stored |
key | that identifies data |
References EINA_SAFETY_ON_NULL_RETURN_VAL.
void eldbus_connection_event_callback_add | ( | Eldbus_Connection * | conn, |
Eldbus_Connection_Event_Type | type, | ||
Eldbus_Connection_Event_Cb | cb, | ||
const void * | cb_data | ||
) |
Add a callback function to be called when an event occurs of the type passed.
conn | The connection object to add the callback to. |
type | The type of event that will trigger the callback. |
cb | The callback to be called when the event is triggered. |
cb_data | The data passed to the callback. |
References eina_inlist_append(), EINA_INLIST_GET, EINA_SAFETY_ON_NULL_RETURN, EINA_SAFETY_ON_TRUE_RETURN, and ELDBUS_CONNECTION_EVENT_LAST.
void eldbus_connection_event_callback_del | ( | Eldbus_Connection * | conn, |
Eldbus_Connection_Event_Type | type, | ||
Eldbus_Connection_Event_Cb | cb, | ||
const void * | cb_data | ||
) |
Remove callback registered in eldbus_connection_event_callback_add().
conn | The connection object to delete the callback from. |
type | The type of event that was triggered the callback. |
cb | The callback that was called when the event was triggered. |
cb_data | The data that was passed to the callback. |
References EINA_INLIST_FOREACH, eina_list_append(), EINA_SAFETY_ON_NULL_RETURN, EINA_SAFETY_ON_TRUE_RETURN, EINA_TRUE, and ELDBUS_CONNECTION_EVENT_LAST.
Eldbus_Pending * eldbus_connection_send | ( | Eldbus_Connection * | conn, |
Eldbus_Message * | msg, | ||
Eldbus_Message_Cb | cb, | ||
const void * | cb_data, | ||
double | timeout | ||
) |
Send a message.
conn | the connection where the message will be sent |
msg | message that will be sent |
cb | if msg is a method call a callback should be passed to be executed when a response arrives |
cb_data | data passed to callback |
timeout | timeout in milliseconds, -1 to use default internal value or ELDBUS_TIMEOUT_INFINITE for no timeout |
const char * eldbus_connection_unique_name_get | ( | Eldbus_Connection * | conn | ) |
Gets unique name assigned by the message bus.
conn | connection object to get unique name from. |