Macros

#define ELDBUS_TIMEOUT_INFINITE   ((int) 0x7fffffff)
 

Typedefs

typedef void(* Eldbus_Connection_Event_Cb) (void *data, Eldbus_Connection *conn, void *event_info)
 

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  Eldbus_Connection_Event_Type {
  ELDBUS_CONNECTION_EVENT_DEL,
  ELDBUS_CONNECTION_EVENT_DISCONNECTED,
  ELDBUS_CONNECTION_EVENT_LAST
}
 

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().
 
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.
 
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().
 
Eldbus_Pendingeldbus_connection_send (Eldbus_Connection *conn, Eldbus_Message *msg, Eldbus_Message_Cb cb, const void *cb_data, double timeout)
 Send a message. More...
 

Detailed Description

Enumeration Type Documentation

◆ Eldbus_Connection_Type

Enumerator
ELDBUS_CONNECTION_TYPE_UNKNOWN 

sentinel, not a real type

ELDBUS_CONNECTION_TYPE_LAST 

sentinel, not a real type

◆ Eldbus_Connection_Event_Type

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.

◆ 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

◆ 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

◆ 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

◆ eldbus_connection_ref()

Eldbus_Connection* eldbus_connection_ref ( Eldbus_Connection conn)

Increment connection reference count.

Parameters
connThe given Eldbus_Connection object to reference

◆ 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.

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.

◆ 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.
cbcallback to be called
datadata passed to callback

◆ 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

◆ 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

◆ 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

◆ 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
Examples:
server.c.