Macros | Typedefs | Enumerations | Functions
Connection

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_Connectioneldbus_connection_get (Eldbus_Connection_Type type)
 Establish a connection to bus and integrate it with the ecore main loop. More...
 
Eldbus_Connectioneldbus_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_Connectioneldbus_address_connection_get (const char *address)
 Establish a connection to bus and integrate it with the ecore main loop. More...
 
Eldbus_Connectioneldbus_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_Connectioneldbus_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_Pendingeldbus_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...
 

Detailed Description

Enumeration Type Documentation

◆ Eldbus_Connection_Type

Enum of several Eldbus connection types.

Enumerator
ELDBUS_CONNECTION_TYPE_UNKNOWN 

sentinel, not a real type

ELDBUS_CONNECTION_TYPE_LAST 

sentinel, not a real type

◆ Eldbus_Connection_Event_Type

Enum of several Eldbus connection events.

Enumerator
ELDBUS_CONNECTION_EVENT_LAST 

sentinel, not a real event type

Function Documentation

◆ eldbus_connection_get()

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.

Parameters
typetype of connection e.g ELDBUS_CONNECTION_TYPE_SESSION, ELDBUS_CONNECTION_TYPE_SYSTEM or ELDBUS_CONNECTION_TYPE_STARTER
Returns
connection with bus
Examples
banshee.c, client.c, complex-types-client-eina-value.c, complex-types-server.c, complex-types.c, connman-list-services.c, ofono-dial.c, server.c, and simple-signal-emit.c.

References DBG.

Referenced by efl_net_connman_init(), elm_color_class_editor_add(), and ethumb_client_connect().

◆ eldbus_private_connection_get()

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.

Parameters
typetype of connection e.g ELDBUS_CONNECTION_TYPE_SESSION, ELDBUS_CONNECTION_TYPE_SYSTEM or ELDBUS_CONNECTION_TYPE_STARTER
Returns
connection with bus

References DBG, and EINA_FALSE.

◆ eldbus_address_connection_get()

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.

Parameters
addressthe address which will be passed to dbus_connection_open()
Returns
connection with bus

References DBG, and eina_hash_string_small_new().

◆ eldbus_private_address_connection_get()

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.

Parameters
addressthe address which will be passed to dbus_connection_open_private()
Returns
connection with bus

References DBG.

◆ eldbus_connection_ref()

Eldbus_Connection * eldbus_connection_ref ( Eldbus_Connection conn)

Increment connection reference count.

Parameters
connThe given Eldbus_Connection object to reference.
Returns
The Eldbus_Connection object given as parameter.

References DBG.

◆ eldbus_connection_unref()

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.

Parameters
connThe given Eldbus_Connection object to unreference.
Examples
banshee.c, client.c, complex-types-client-eina-value.c, complex-types-server.c, complex-types.c, connman-list-services.c, ofono-dial.c, server.c, and simple-signal-emit.c.

References DBG.

Referenced by efl_net_connman_shutdown().

◆ eldbus_connection_free_cb_add()

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.

Parameters
connThe connection object to add the callback to.
cbThe callback to be called when the connection is free.
dataThe data passed to the callback.

References EINA_SAFETY_ON_NULL_RETURN.

Referenced by eldbus_object_get(), and eldbus_signal_handler_add().

◆ eldbus_connection_free_cb_del()

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().

Parameters
connThe connection object to delete the callback from.
cbThe callback that was called when the connection was free.
dataThe data that was passed to the callback.

References EINA_SAFETY_ON_NULL_RETURN.

Referenced by eldbus_service_object_unregister().

◆ eldbus_connection_data_set()

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.

Parameters
connThe connection object to store data to
keyto identify data
datadata that will be stored

References EINA_SAFETY_ON_NULL_RETURN.

◆ eldbus_connection_data_get()

void * eldbus_connection_data_get ( const Eldbus_Connection conn,
const char *  key 
)

Get data stored in connection.

Parameters
connconnection where data is stored
keykey that identifies data
Returns
pointer to data if found otherwise NULL

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ eldbus_connection_data_del()

void * eldbus_connection_data_del ( Eldbus_Connection conn,
const char *  key 
)

Del data stored in connection.

Parameters
connconnection where data is stored
keythat identifies data
Returns
pointer to data if found otherwise NULL

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ eldbus_connection_event_callback_add()

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.

Parameters
connThe connection object to add the callback to.
typeThe type of event that will trigger the callback.
cbThe callback to be called when the event is triggered.
cb_dataThe 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.

◆ eldbus_connection_event_callback_del()

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().

Parameters
connThe connection object to delete the callback from.
typeThe type of event that was triggered the callback.
cbThe callback that was called when the event was triggered.
cb_dataThe 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_connection_send()

Eldbus_Pending * eldbus_connection_send ( Eldbus_Connection conn,
Eldbus_Message msg,
Eldbus_Message_Cb  cb,
const void *  cb_data,
double  timeout 
)

Send a message.

Parameters
connthe connection where the message will be sent
msgmessage that will be sent
cbif msg is a method call a callback should be passed to be executed when a response arrives
cb_datadata passed to callback
timeouttimeout in milliseconds, -1 to use default internal value or ELDBUS_TIMEOUT_INFINITE for no timeout
Returns
A Eldbus_Pending struct.
Examples
server.c.

◆ eldbus_connection_unique_name_get()

const char * eldbus_connection_unique_name_get ( Eldbus_Connection conn)

Gets unique name assigned by the message bus.

Parameters
connconnection object to get unique name from.
Returns
pointer to unique name string or NULL or error. Returned value remains valid until connection is free.