Data Structures

struct  _E_DBus_Version

Defines

#define E_DBUS_FDO_BUS   "org.freedesktop.DBus"
#define E_DBUS_FDO_INTERFACE   E_DBUS_FDO_BUS
#define E_DBUS_FDO_INTERFACE_PROPERTIES   "org.freedesktop.DBus.Properties"
#define E_DBUS_FDO_PATH   "/org/freedesktop/DBus"
#define E_DBUS_VERSION_MAJOR   1
#define E_DBUS_VERSION_MINOR   7

Typedefs

typedef struct E_DBus_Callback E_DBus_Callback
typedef void(* E_DBus_Callback_Func )(void *user_data, void *method_return, DBusError *error)
typedef struct E_DBus_Connection E_DBus_Connection
typedef void(* E_DBus_Free_Func )(void *data)
typedef struct E_DBus_Interface E_DBus_Interface
typedef DBusMessage *(* E_DBus_Method_Cb )(E_DBus_Object *obj, DBusMessage *message)
typedef void(* E_DBus_Method_Return_Cb )(void *data, DBusMessage *msg, DBusError *error)
typedef struct E_DBus_Object E_DBus_Object
typedef void(* E_DBus_Object_Property_Get_Cb )(E_DBus_Object *obj, const char *property, int *type, void **value)
typedef int(* E_DBus_Object_Property_Set_Cb )(E_DBus_Object *obj, const char *property, int type, void *value)
typedef void(* E_DBus_Signal_Cb )(void *data, DBusMessage *msg)
typedef struct
E_DBus_Signal_Handler 
E_DBus_Signal_Handler
typedef void *(* E_DBus_Unmarshal_Func )(DBusMessage *msg, DBusError *err)
typedef struct _E_DBus_Version E_DBus_Version

Functions

EAPI E_DBus_Connectione_dbus_bus_get (DBusBusType type)
EAPI void e_dbus_callback_call (E_DBus_Callback *cb, void *data, DBusError *error)
EAPI void e_dbus_callback_free (E_DBus_Callback *callback)
 Free a callback structure.
EAPI E_DBus_Callbacke_dbus_callback_new (E_DBus_Callback_Func cb_func, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Free_Func free_func, void *user_data)
 Create a callback structure.
EAPI void e_dbus_callback_return_free (E_DBus_Callback *callback, void *data)
EAPI void * e_dbus_callback_unmarshal (E_DBus_Callback *cb, DBusMessage *msg, DBusError *err)
EAPI void e_dbus_connection_close (E_DBus_Connection *conn)
EAPI void e_dbus_connection_ref (E_DBus_Connection *conn)
EAPI E_DBus_Connectione_dbus_connection_setup (DBusConnection *conn)
EAPI DBusPendingCall * e_dbus_get_name_owner (E_DBus_Connection *conn, const char *name, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI int e_dbus_init (void)
 Initialize e_dbus.
EAPI int e_dbus_interface_method_add (E_DBus_Interface *iface, const char *member, const char *signature, const char *reply_signature, E_DBus_Method_Cb func)
EAPI E_DBus_Interfacee_dbus_interface_new (const char *interface)
EAPI void e_dbus_interface_ref (E_DBus_Interface *iface)
EAPI int e_dbus_interface_signal_add (E_DBus_Interface *iface, const char *name, const char *signature)
EAPI void e_dbus_interface_unref (E_DBus_Interface *iface)
EAPI DBusPendingCall * e_dbus_introspect (E_DBus_Connection *conn, const char *bus, const char *object_path, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_list_activatable_names (E_DBus_Connection *conn, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_list_names (E_DBus_Connection *conn, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_message_send (E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Method_Return_Cb cb_return, int timeout, void *data)
 Send a DBus message with callbacks.
EAPI DBusPendingCall * e_dbus_method_call_send (E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Callback_Func cb_func, E_DBus_Free_Func free_func, int timeout, void *data)
EAPI DBusPendingCall * e_dbus_name_has_owner (E_DBus_Connection *conn, const char *name, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI E_DBus_Objecte_dbus_object_add (E_DBus_Connection *conn, const char *object_path, void *data)
EAPI E_DBus_Connectione_dbus_object_conn_get (E_DBus_Object *obj)
 Get the dbus connection of a dbus object.
EAPI void * e_dbus_object_data_get (E_DBus_Object *obj)
 Fetch the data pointer for a dbus object.
EAPI void e_dbus_object_free (E_DBus_Object *obj)
EAPI void e_dbus_object_interface_attach (E_DBus_Object *obj, E_DBus_Interface *iface)
EAPI void e_dbus_object_interface_detach (E_DBus_Object *obj, E_DBus_Interface *iface)
EAPI const Eina_List * e_dbus_object_interfaces_get (E_DBus_Object *obj)
 Get the interfaces of a dbus object.
EAPI const char * e_dbus_object_path_get (E_DBus_Object *obj)
 Get the path of a dbus object.
EAPI void e_dbus_object_property_get_cb_set (E_DBus_Object *obj, E_DBus_Object_Property_Get_Cb func)
 Sets the callback to fetch properties from an object.
EAPI void e_dbus_object_property_set_cb_set (E_DBus_Object *obj, E_DBus_Object_Property_Set_Cb func)
 Sets the callback to set properties on an object.
EAPI DBusPendingCall * e_dbus_peer_get_machine_id (E_DBus_Connection *conn, const char *destination, const char *path, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_peer_ping (E_DBus_Connection *conn, const char *destination, const char *path, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_properties_get (E_DBus_Connection *conn, const char *destination, const char *path, const char *interface, const char *property, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_properties_get_all (E_DBus_Connection *conn, const char *destination, const char *path, const char *interface, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_properties_set (E_DBus_Connection *conn, const char *destination, const char *path, const char *interface, const char *property, int value_type, const void *value, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_release_name (E_DBus_Connection *conn, const char *name, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI DBusPendingCall * e_dbus_request_name (E_DBus_Connection *conn, const char *name, unsigned int flags, E_DBus_Method_Return_Cb cb_return, const void *data)
EAPI int e_dbus_shutdown (void)
EAPI E_DBus_Signal_Handlere_dbus_signal_handler_add (E_DBus_Connection *conn, const char *sender, const char *path, const char *interface, const char *member, E_DBus_Signal_Cb cb_signal, void *data)
EAPI void e_dbus_signal_handler_del (E_DBus_Connection *conn, E_DBus_Signal_Handler *sh)
EAPI DBusPendingCall * e_dbus_start_service_by_name (E_DBus_Connection *conn, const char *name, unsigned int flags, E_DBus_Method_Return_Cb cb_return, const void *data)

Variables

EAPI int E_DBUS_DOMAIN_GLOBAL
EAPI int E_DBUS_EVENT_SIGNAL
EAPI E_DBus_Versione_dbus_version

Define Documentation

#define E_DBUS_FDO_BUS   "org.freedesktop.DBus"
#define E_DBUS_FDO_INTERFACE   E_DBUS_FDO_BUS
#define E_DBUS_FDO_INTERFACE_PROPERTIES   "org.freedesktop.DBus.Properties"

Referenced by e_dbus_object_init().

#define E_DBUS_FDO_PATH   "/org/freedesktop/DBus"
#define E_DBUS_VERSION_MAJOR   1
#define E_DBUS_VERSION_MINOR   7

Typedef Documentation

typedef void(* E_DBus_Callback_Func)(void *user_data, void *method_return, DBusError *error)

A callback function for a DBus call

Parameters:
user_datathe data passed in to the method call
event_dataa struct containing the return data.
typedef void(* E_DBus_Free_Func)(void *data)
typedef DBusMessage*(* E_DBus_Method_Cb)(E_DBus_Object *obj, DBusMessage *message)
typedef void(* E_DBus_Method_Return_Cb)(void *data, DBusMessage *msg, DBusError *error)
typedef struct E_DBus_Object E_DBus_Object
typedef void(* E_DBus_Object_Property_Get_Cb)(E_DBus_Object *obj, const char *property, int *type, void **value)
typedef int(* E_DBus_Object_Property_Set_Cb)(E_DBus_Object *obj, const char *property, int type, void *value)
typedef void(* E_DBus_Signal_Cb)(void *data, DBusMessage *msg)
typedef void*(* E_DBus_Unmarshal_Func)(DBusMessage *msg, DBusError *err)

Function Documentation

EAPI E_DBus_Connection* e_dbus_bus_get ( DBusBusType  type)

Retrieve a connection to the bus and integrate it with the ecore main loop.

Parameters:
typethe type of bus to connect to, e.g. DBUS_BUS_SYSTEM or DBUS_BUS_SESSION

References e_dbus_connection_ref(), e_dbus_connection_setup(), ERR, and E_DBus_Connection::shared_type.

Referenced by e_notification_init().

EAPI void e_dbus_callback_call ( E_DBus_Callback cb,
void *  data,
DBusError *  error 
)
EAPI void e_dbus_callback_free ( E_DBus_Callback callback)

Free a callback structure.

Parameters:
callbackthe callback to free
EAPI E_DBus_Callback* e_dbus_callback_new ( E_DBus_Callback_Func  cb_func,
E_DBus_Unmarshal_Func  unmarshal_func,
E_DBus_Free_Func  free_func,
void *  user_data 
)

Create a callback structure.

Parameters:
cb_functhe callback function
user_datadata to pass to the callback

References E_DBus_Callback::cb_func, E_DBus_Callback::free_func, E_DBus_Callback::unmarshal_func, and E_DBus_Callback::user_data.

Referenced by e_dbus_method_call_send().

EAPI void e_dbus_callback_return_free ( E_DBus_Callback callback,
void *  data 
)
EAPI void* e_dbus_callback_unmarshal ( E_DBus_Callback cb,
DBusMessage *  msg,
DBusError *  err 
)
EAPI void e_dbus_connection_close ( E_DBus_Connection conn)

Close out a connection retrieved with e_dbus_bus_get()

Parameters:
connthe connection to close

References E_DBus_Connection::conn, DBG, E_DBus_Connection::idler, and E_DBus_Connection::refcount.

Referenced by e_dbus_object_free(), e_notification_daemon_free(), and e_notification_shutdown().

EAPI void e_dbus_connection_ref ( E_DBus_Connection conn)
EAPI E_DBus_Connection* e_dbus_connection_setup ( DBusConnection *  conn)

Integrate a DBus connection with the ecore main loop

Parameters:
conn- a dbus connection

References E_DBus_Connection::conn.

Referenced by e_dbus_bus_get().

EAPI DBusPendingCall* e_dbus_get_name_owner ( E_DBus_Connection conn,
const char *  name,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)
EAPI int e_dbus_init ( void  )
EAPI int e_dbus_interface_method_add ( E_DBus_Interface iface,
const char *  member,
const char *  signature,
const char *  reply_signature,
E_DBus_Method_Cb  func 
)

Add a method to an object

Parameters:
ifacethe E_DBus_Interface to which this method belongs
memberthe name of the method
signaturean optional message signature. if provided, then messages with invalid signatures will be automatically rejected (an Error response will be sent) and introspection data will be available.
Returns:
1 if successful, 0 if failed (e.g. no memory)

References DBG.

Referenced by e_dbus_object_init(), and e_notification_daemon_add().

EAPI void e_dbus_interface_ref ( E_DBus_Interface iface)
EAPI int e_dbus_interface_signal_add ( E_DBus_Interface iface,
const char *  name,
const char *  signature 
)

Add a signal to an object

Parameters:
ifacethe E_DBus_Interface to which this signal belongs
namethe name of the signal
signaturean optional message signature.
Returns:
1 if successful, 0 if failed (e.g. no memory)

References DBG, and E_DBus_Interface::signals.

EAPI DBusPendingCall* e_dbus_introspect ( E_DBus_Connection conn,
const char *  bus,
const char *  object_path,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

Calls the Introspect method on a given bus and object path.

Parameters:
connThe dbus connection to use
busThe bus to call the method on
object_pathThe path of the bus to call on
cb_returnThe callback to call on reply from dbus
dataThe data to associate with the callback
Returns:
A pending dbus call

References e_dbus_message_send(), and ERR.

EAPI DBusPendingCall* e_dbus_list_activatable_names ( E_DBus_Connection conn,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)
EAPI DBusPendingCall* e_dbus_list_names ( E_DBus_Connection conn,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)
EAPI DBusPendingCall* e_dbus_message_send ( E_DBus_Connection conn,
DBusMessage *  msg,
E_DBus_Method_Return_Cb  cb_return,
int  timeout,
void *  data 
)

Send a DBus message with callbacks.

Parameters:
connThe DBus connection
msgThe message to send
cb_returnA callback function for returns (only used if msg is a method-call)
timeoutA timeout in milliseconds, after which a synthetic error will be generated
datacustom data to pass in to the callback
Returns:
a DBusPendingCall that can be used to cancel the current call

References E_DBus_Pending_Call_Data::cb_return, E_DBus_Connection::conn, and E_DBus_Pending_Call_Data::data.

Referenced by e_bluez_element_message_send(), e_connman_element_message_send(), e_dbus_introspect(), e_dbus_method_call_send(), e_dbus_properties_get(), e_dbus_properties_get_all(), e_dbus_properties_set(), e_dbus_request_name(), e_dbus_start_service_by_name(), e_notification_daemon_signal_action_invoked(), e_notification_daemon_signal_notification_closed(), and e_ofono_element_message_send().

EAPI DBusPendingCall* e_dbus_name_has_owner ( E_DBus_Connection conn,
const char *  name,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)
EAPI E_DBus_Object* e_dbus_object_add ( E_DBus_Connection conn,
const char *  object_path,
void *  data 
)

Add a dbus object.

Parameters:
connthe connection on with the object should listen
object_patha unique string identifying an object (e.g. org/enlightenment/WindowManager
datacustom data to set on the object (retrievable via e_dbus_object_data_get())

References E_DBus_Object::conn, E_DBus_Connection::conn, E_DBus_Object::data, e_dbus_connection_ref(), e_dbus_object_interface_attach(), E_DBus_Object::interfaces, and E_DBus_Object::path.

EAPI E_DBus_Connection* e_dbus_object_conn_get ( E_DBus_Object obj)

Get the dbus connection of a dbus object.

Parameters:
objthe dbus object

References E_DBus_Object::conn.

EAPI void* e_dbus_object_data_get ( E_DBus_Object obj)

Fetch the data pointer for a dbus object.

Parameters:
objthe dbus object

References E_DBus_Object::data.

Referenced by method_close_notification(), method_get_server_information(), and method_notify().

EAPI void e_dbus_object_free ( E_DBus_Object obj)
EAPI const Eina_List* e_dbus_object_interfaces_get ( E_DBus_Object obj)

Get the interfaces of a dbus object.

Parameters:
objthe dbus object

References E_DBus_Object::interfaces.

EAPI const char* e_dbus_object_path_get ( E_DBus_Object obj)

Get the path of a dbus object.

Parameters:
objthe dbus object

References E_DBus_Object::path.

EAPI void e_dbus_object_property_get_cb_set ( E_DBus_Object obj,
E_DBus_Object_Property_Get_Cb  func 
)

Sets the callback to fetch properties from an object.

Parameters:
objthe object
functhe callback

References E_DBus_Object::cb_property_get, E_DBus_Object::cb_property_set, and e_dbus_object_interface_attach().

EAPI void e_dbus_object_property_set_cb_set ( E_DBus_Object obj,
E_DBus_Object_Property_Set_Cb  func 
)

Sets the callback to set properties on an object.

Parameters:
objthe object
functhe callback

References E_DBus_Object::cb_property_get, E_DBus_Object::cb_property_set, and e_dbus_object_interface_attach().

EAPI DBusPendingCall* e_dbus_peer_get_machine_id ( E_DBus_Connection conn,
const char *  destination,
const char *  path,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

Get the UUID of the peer

Parameters:
connthe dbus connection
destinationthe bus name that the object is on
paththe object path
cb_returna callback for a successful return
datadata to pass to the callbacks
EAPI DBusPendingCall* e_dbus_peer_ping ( E_DBus_Connection conn,
const char *  destination,
const char *  path,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

Ping the dbus peer

Parameters:
connthe dbus connection
destinationthe bus name that the object is on
paththe object path
cb_returna callback for a successful return
datadata to pass to the callbacks
EAPI DBusPendingCall* e_dbus_properties_get ( E_DBus_Connection conn,
const char *  destination,
const char *  path,
const char *  interface,
const char *  property,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

Get the value of a property on an object

Parameters:
connthe dbus connection
destinationthe bus name that the object is on
paththe object path
interfacethe interface name of the property
propertythe name of the property
cb_returna callback for a successful return
datadata to pass to the callbacks

References e_dbus_message_send(), and ERR.

EAPI DBusPendingCall* e_dbus_properties_get_all ( E_DBus_Connection conn,
const char *  destination,
const char *  path,
const char *  interface,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

References e_dbus_message_send(), and ERR.

EAPI DBusPendingCall* e_dbus_properties_set ( E_DBus_Connection conn,
const char *  destination,
const char *  path,
const char *  interface,
const char *  property,
int  value_type,
const void *  value,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

Set the value of a property on an object

Parameters:
connthe dbus connection
destinationthe bus name that the object is on
paththe object path
interfacethe interface name of the property
propertythe name of the property
value_typethe type of the property's value
valuea pointer to the value
cb_returna callback for a successful return
datadata to pass to the callbacks

References e_dbus_message_send(), and ERR.

EAPI DBusPendingCall* e_dbus_release_name ( E_DBus_Connection conn,
const char *  name,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)
EAPI DBusPendingCall* e_dbus_request_name ( E_DBus_Connection conn,
const char *  name,
unsigned int  flags,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

References e_dbus_message_send(), and ERR.

EAPI E_DBus_Signal_Handler* e_dbus_signal_handler_add ( E_DBus_Connection conn,
const char *  sender,
const char *  path,
const char *  interface,
const char *  member,
E_DBus_Signal_Cb  cb_signal,
void *  data 
)
EAPI DBusPendingCall* e_dbus_start_service_by_name ( E_DBus_Connection conn,
const char *  name,
unsigned int  flags,
E_DBus_Method_Return_Cb  cb_return,
const void *  data 
)

References e_dbus_message_send(), and ERR.


Variable Documentation

Referenced by e_dbus_init().