Data Structures | Typedefs | Enumerations | Functions
Proxy

Data Structures

struct  _Eldbus_Proxy_Event_Property_Changed
 
struct  _Eldbus_Proxy_Event_Property_Loaded
 
struct  _Eldbus_Proxy_Event_Property_Removed
 

Typedefs

typedef struct _Eldbus_Proxy_Event_Property_Changed Eldbus_Proxy_Event_Property_Changed
 A structure used when ELDBUS_PROXY_EVENT_PROPERTY_CHANGED event is received.
 
typedef struct _Eldbus_Proxy_Event_Property_Loaded Eldbus_Proxy_Event_Property_Loaded
 A structure used when ELDBUS_PROXY_EVENT_PROPERTY_LOADED event is received.
 
typedef struct _Eldbus_Proxy_Event_Property_Removed Eldbus_Proxy_Event_Property_Removed
 A structure used when ELDBUS_PROXY_EVENT_PROPERTY_REMOVED event is received.
 
typedef void(* Eldbus_Proxy_Event_Cb) (void *data, Eldbus_Proxy *proxy, void *event_info)
 A callback called when an event occurs. More...
 

Enumerations

enum  Eldbus_Proxy_Event_Type {
  ELDBUS_PROXY_EVENT_PROPERTY_CHANGED = 0 ,
  ELDBUS_PROXY_EVENT_PROPERTY_REMOVED ,
  ELDBUS_PROXY_EVENT_DEL ,
  ELDBUS_PROXY_EVENT_PROPERTY_LOADED ,
  ELDBUS_PROXY_EVENT_LAST
}
 An enumeration containing proxy event types. More...
 

Functions

Eldbus_Proxyeldbus_proxy_get (Eldbus_Object *obj, const char *interface)
 Get a proxy of the following interface name in a Eldbus_Object. More...
 
Eldbus_Proxyeldbus_proxy_ref (Eldbus_Proxy *proxy)
 Increase proxy reference. More...
 
void eldbus_proxy_unref (Eldbus_Proxy *proxy)
 Decrease proxy reference. More...
 
Eldbus_Objecteldbus_proxy_object_get (const Eldbus_Proxy *proxy)
 Get the Eldbus_Object associated with a proxy object. More...
 
const char * eldbus_proxy_interface_get (const Eldbus_Proxy *proxy)
 Get the interface name associated with a proxy object. More...
 
void eldbus_proxy_data_set (Eldbus_Proxy *proxy, const char *key, const void *data)
 Set data to an Eldbus_Proxy object. More...
 
void * eldbus_proxy_data_get (const Eldbus_Proxy *proxy, const char *key)
 Get data of an Eldbus_Proxy object. More...
 
void * eldbus_proxy_data_del (Eldbus_Proxy *proxy, const char *key)
 Delete data of an Eldbus_Proxy object. More...
 
void eldbus_proxy_free_cb_add (Eldbus_Proxy *proxy, Eldbus_Free_Cb cb, const void *data)
 Add a callback function to be called when an event of the type passed occurs. More...
 
void eldbus_proxy_free_cb_del (Eldbus_Proxy *proxy, Eldbus_Free_Cb cb, const void *data)
 Remove callback registered in eldbus_proxy_free_cb_add(). More...
 
Eldbus_Messageeldbus_proxy_method_call_new (Eldbus_Proxy *proxy, const char *member)
 Constructs a new message to invoke a method on a remote interface. More...
 
Eldbus_Pendingeldbus_proxy_send (Eldbus_Proxy *proxy, Eldbus_Message *msg, Eldbus_Message_Cb cb, const void *cb_data, double timeout)
 Send a message. More...
 
Eldbus_Messageeldbus_proxy_send_and_block (Eldbus_Proxy *proxy, Eldbus_Message *msg, double timeout)
 Send a message and block while waiting for the reply. More...
 
Eldbus_Pendingeldbus_proxy_call (Eldbus_Proxy *proxy, const char *member, Eldbus_Message_Cb cb, const void *cb_data, double timeout, const char *signature,...)
 Call a method in proxy. More...
 
Eldbus_Pendingeldbus_proxy_vcall (Eldbus_Proxy *proxy, const char *member, Eldbus_Message_Cb cb, const void *cb_data, double timeout, const char *signature, va_list ap)
 Call a method in proxy. More...
 
Eldbus_Signal_Handlereldbus_proxy_signal_handler_add (Eldbus_Proxy *proxy, const char *member, Eldbus_Signal_Cb cb, const void *cb_data)
 Add a signal handler. More...
 
void eldbus_proxy_event_callback_add (Eldbus_Proxy *proxy, Eldbus_Proxy_Event_Type type, Eldbus_Proxy_Event_Cb cb, const void *cb_data)
 Add a callback function to be called when occurs a event of the type passed. More...
 
void eldbus_proxy_event_callback_del (Eldbus_Proxy *proxy, Eldbus_Proxy_Event_Type type, Eldbus_Proxy_Event_Cb cb, const void *cb_data)
 Remove callback registered in eldbus_proxy_event_callback_add(). More...
 

Detailed Description

Typedef Documentation

◆ Eldbus_Proxy_Event_Cb

Eldbus_Proxy_Event_Cb

A callback called when an event occurs.

Parameters
dataThe data passed by the caller.
proxyThe Eldbus_Proxy object.
event_infoInformation on the event that triggered the callback.

Enumeration Type Documentation

◆ Eldbus_Proxy_Event_Type

An enumeration containing proxy event types.

Enumerator
ELDBUS_PROXY_EVENT_PROPERTY_CHANGED 

a property has changed

ELDBUS_PROXY_EVENT_PROPERTY_REMOVED 

a property was removed

ELDBUS_PROXY_EVENT_LAST 

sentinel, not a real event type

Function Documentation

◆ eldbus_proxy_get()

Eldbus_Proxy * eldbus_proxy_get ( Eldbus_Object obj,
const char *  interface 
)

Get a proxy of the following interface name in a Eldbus_Object.

Parameters
objThe Eldbus_Object on which to do the query.
interfaceThe interface name of the proxy.
Returns
The corresponding Eldbus_Proxy object.

References EINA_MAGIC_SET, EINA_SAFETY_ON_NULL_RETURN_VAL, eina_stringshare_add(), eina_stringshare_del(), eldbus_object_free_cb_add(), and eldbus_proxy_ref().

Referenced by efl_net_connman_access_point_new(), efl_net_connman_technology_new(), and eldbus_object_get().

◆ eldbus_proxy_ref()

Eldbus_Proxy * eldbus_proxy_ref ( Eldbus_Proxy proxy)

Increase proxy reference.

Parameters
proxyThe Eldbus_Proxy on which to increase the refcount.
Returns
The Eldbus_Proxy with an increased refcount.

References DBG.

Referenced by eldbus_proxy_get().

◆ eldbus_proxy_unref()

void eldbus_proxy_unref ( Eldbus_Proxy proxy)

Decrease proxy reference.

If reference == 0 proxy will be freed and all your children.

Parameters
proxyThe Eldbus_Proxy on which to decrease the refcount.

References DBG.

Referenced by efl_net_connman_shutdown().

◆ eldbus_proxy_object_get()

Eldbus_Object * eldbus_proxy_object_get ( const Eldbus_Proxy proxy)

Get the Eldbus_Object associated with a proxy object.

Parameters
proxyThe Eldbus_Proxy on which to do the query.
Returns
The corresponding Eldbus_Object.

Referenced by efl_net_connman_shutdown().

◆ eldbus_proxy_interface_get()

const char * eldbus_proxy_interface_get ( const Eldbus_Proxy proxy)

Get the interface name associated with a proxy object.

Parameters
proxyThe Eldbus_Proxy on which to do the query.
Returns
The string corresponding to the interface name.

◆ eldbus_proxy_data_set()

void eldbus_proxy_data_set ( Eldbus_Proxy proxy,
const char *  key,
const void *  data 
)

Set data to an Eldbus_Proxy object.

Parameters
proxyThe Eldbus_Proxy on which to set the data.
keyA string to which the data will be associated.
dataThe data to set to the proxy object.

References EINA_SAFETY_ON_NULL_RETURN.

◆ eldbus_proxy_data_get()

void * eldbus_proxy_data_get ( const Eldbus_Proxy proxy,
const char *  key 
)

Get data of an Eldbus_Proxy object.

Parameters
proxyThe Eldbus_Proxy on which to get the data.
keyThe string to which the data is associated.
Returns
The data set to the proxy object associated with the provided key.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ eldbus_proxy_data_del()

void * eldbus_proxy_data_del ( Eldbus_Proxy proxy,
const char *  key 
)

Delete data of an Eldbus_Proxy object.

Parameters
proxyThe Eldbus_Proxy on which to delete the data.
keyThe string to which the data is associated.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ eldbus_proxy_free_cb_add()

void eldbus_proxy_free_cb_add ( Eldbus_Proxy proxy,
Eldbus_Free_Cb  cb,
const void *  data 
)

Add a callback function to be called when an event of the type passed occurs.

Parameters
proxyThe Eldbus_Proxy on which to add the callback.
cbThe callback to add.
dataThe data to pass to the callback.

References EINA_SAFETY_ON_NULL_RETURN.

◆ eldbus_proxy_free_cb_del()

void eldbus_proxy_free_cb_del ( Eldbus_Proxy proxy,
Eldbus_Free_Cb  cb,
const void *  data 
)

Remove callback registered in eldbus_proxy_free_cb_add().

Parameters
proxyThe Eldbus_Proxy on which to delete the callback.
cbThe callback to delete.
dataThe data passed to the callback.

References EINA_SAFETY_ON_NULL_RETURN.

◆ eldbus_proxy_method_call_new()

Eldbus_Message * eldbus_proxy_method_call_new ( Eldbus_Proxy proxy,
const char *  member 
)

Constructs a new message to invoke a method on a remote interface.

Parameters
proxyThe Eldbus_Proxy on which to call the method.
memberThe name of the method to invoke.
Returns
An Eldbus_Message object.

References eldbus_message_method_call_new(), eldbus_object_bus_name_get(), and eldbus_object_path_get().

Referenced by eldbus_proxy_property_set(), and eldbus_proxy_property_value_set().

◆ eldbus_proxy_send()

Eldbus_Pending * eldbus_proxy_send ( Eldbus_Proxy proxy,
Eldbus_Message msg,
Eldbus_Message_Cb  cb,
const void *  cb_data,
double  timeout 
)

Send a message.

Parameters
proxythe msg will be send in connection that proxy belongs
msgmessage that will be send
cbif msg is a method call a callback should be passed
cb_datadata passed to callback
timeouttimeout in milliseconds, -1 to default internal value or ELDBUS_TIMEOUT_INFINITE for no timeout
Returns
A Eldbus_Pending object on the sent message.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

Referenced by eldbus_proxy_property_set(), and eldbus_proxy_property_value_set().

◆ eldbus_proxy_send_and_block()

Eldbus_Message * eldbus_proxy_send_and_block ( Eldbus_Proxy proxy,
Eldbus_Message msg,
double  timeout 
)

Send a message and block while waiting for the reply.

Parameters
proxythe msg will be send in connection that proxy belongs
msgmessage that will be send
timeouttimeout in milliseconds, -1 to default internal value or ELDBUS_TIMEOUT_INFINITE for no timeout
Returns
The reply message, error message or NULL. The returned Eldbus_Message need to be unref after read.
Since
1.13

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ eldbus_proxy_call()

Eldbus_Pending * eldbus_proxy_call ( Eldbus_Proxy proxy,
const char *  member,
Eldbus_Message_Cb  cb,
const void *  cb_data,
double  timeout,
const char *  signature,
  ... 
)

Call a method in proxy.

Send a method call to interface that proxy belong with data.

Parameters
proxy
membermethod name
cbif msg is a method call a callback should be passed to be execute when response arrive
cb_datadata passed to callback
timeouttimeout in milliseconds, -1 to default internal value or ELDBUS_TIMEOUT_INFINITE for no timeout
signatureof data that will be send
...data value
Returns
A Eldbus_Pending object on the sent message.
Note
This function only support basic type to complex types use eldbus_message_iter_* functions.

Referenced by eldbus_hello(), eldbus_name_owner_get(), eldbus_name_owner_has(), eldbus_name_release(), eldbus_name_request(), eldbus_name_start(), eldbus_names_activatable_list(), eldbus_names_list(), eldbus_proxy_property_get(), and eldbus_proxy_property_get_all().

◆ eldbus_proxy_vcall()

Eldbus_Pending * eldbus_proxy_vcall ( Eldbus_Proxy proxy,
const char *  member,
Eldbus_Message_Cb  cb,
const void *  cb_data,
double  timeout,
const char *  signature,
va_list  ap 
)

Call a method in proxy.

Send a method call to interface that proxy belong with data.

Parameters
proxy
membermethod name
cbcallback that will be called when response arrive.
cb_datadata passed to callback
timeouttimeout in milliseconds, -1 to default internal value or ELDBUS_TIMEOUT_INFINITE for no timeout
signatureof data that will be send
apva_list of data value
Returns
A Eldbus_Pending object on the sent message.
Note
This function only support basic type to complex types use eldbus_message_iter_* functions.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

◆ eldbus_proxy_signal_handler_add()

Eldbus_Signal_Handler * eldbus_proxy_signal_handler_add ( Eldbus_Proxy proxy,
const char *  member,
Eldbus_Signal_Cb  cb,
const void *  cb_data 
)

Add a signal handler.

Parameters
proxyinterface where the signal is emitted
membername of the signal
cbcallback that will be called when this signal is received
cb_datadata that will be passed to callback
Returns
A listener to the desired signal.

References DBG, eina_list_append(), EINA_SAFETY_ON_NULL_RETURN_VAL, eldbus_object_bus_name_get(), eldbus_object_path_get(), and eldbus_signal_handler_free_cb_add().

Referenced by eldbus_proxy_properties_changed_callback_add().

◆ eldbus_proxy_event_callback_add()

void eldbus_proxy_event_callback_add ( Eldbus_Proxy proxy,
Eldbus_Proxy_Event_Type  type,
Eldbus_Proxy_Event_Cb  cb,
const void *  cb_data 
)

Add a callback function to be called when occurs a event of the type passed.

Parameters
proxyThe Eldbus_Proxy object.
typeThe type of the event to register an callback on.
cbThe callback function to register.
cb_dataThe data to pass to the callback.

References eina_hash_string_superfast_new(), eina_inlist_append(), EINA_INLIST_GET, EINA_SAFETY_ON_NULL_RETURN, EINA_SAFETY_ON_TRUE_RETURN, ELDBUS_PROXY_EVENT_LAST, ELDBUS_PROXY_EVENT_PROPERTY_CHANGED, ELDBUS_PROXY_EVENT_PROPERTY_REMOVED, and eldbus_proxy_properties_changed_callback_add().

◆ eldbus_proxy_event_callback_del()

void eldbus_proxy_event_callback_del ( Eldbus_Proxy proxy,
Eldbus_Proxy_Event_Type  type,
Eldbus_Proxy_Event_Cb  cb,
const void *  cb_data 
)

Remove callback registered in eldbus_proxy_event_callback_add().

Parameters
proxyThe Eldbus_Proxy object.
typeThe type of the event the callback was registered on.
cbThe callback function to delete.
cb_dataThe data passed to the callback.

References eina_hash_free(), EINA_INLIST_FOREACH, eina_list_append(), EINA_SAFETY_ON_NULL_RETURN, EINA_SAFETY_ON_TRUE_RETURN, EINA_TRUE, ELDBUS_PROXY_EVENT_LAST, ELDBUS_PROXY_EVENT_PROPERTY_CHANGED, ELDBUS_PROXY_EVENT_PROPERTY_REMOVED, and eldbus_signal_handler_unref().