forked from enlightenment/efl
edbus: implement edbus_proxy_data_{get, set, del}
The prototypes for those functions are defined in edbus_proxy.h, however there's no implementation at all. By Raphael Kubo <raphael.kubo.da.costa@intel.com> SVN revision: 83299
This commit is contained in:
parent
def83a6eb1
commit
1f30bdde5c
|
@ -29,6 +29,7 @@ struct _EDBus_Proxy
|
||||||
Eina_Inlist *pendings;
|
Eina_Inlist *pendings;
|
||||||
Eina_List *handlers;
|
Eina_List *handlers;
|
||||||
Eina_Inlist *cbs_free;
|
Eina_Inlist *cbs_free;
|
||||||
|
Eina_Inlist *data;
|
||||||
EDBus_Proxy_Context_Event event_handlers[EDBUS_PROXY_EVENT_LAST];
|
EDBus_Proxy_Context_Event event_handlers[EDBUS_PROXY_EVENT_LAST];
|
||||||
Eina_Hash *props;
|
Eina_Hash *props;
|
||||||
EDBus_Signal_Handler *properties_changed;
|
EDBus_Signal_Handler *properties_changed;
|
||||||
|
@ -190,6 +191,7 @@ _on_object_free(void *data, const void *dead_pointer EINA_UNUSED)
|
||||||
EDBUS_PROXY_CHECK(proxy);
|
EDBUS_PROXY_CHECK(proxy);
|
||||||
DBG("proxy=%p, refcount=%d, interface=%s, obj=%p",
|
DBG("proxy=%p, refcount=%d, interface=%s, obj=%p",
|
||||||
proxy, proxy->refcount, proxy->interface, proxy->obj);
|
proxy, proxy->refcount, proxy->interface, proxy->obj);
|
||||||
|
edbus_data_del_all(&(proxy->data));
|
||||||
_edbus_proxy_clear(proxy);
|
_edbus_proxy_clear(proxy);
|
||||||
_edbus_proxy_free(proxy);
|
_edbus_proxy_free(proxy);
|
||||||
}
|
}
|
||||||
|
@ -234,6 +236,7 @@ _edbus_proxy_unref(EDBus_Proxy *proxy)
|
||||||
if (proxy->refcount > 0) return;
|
if (proxy->refcount > 0) return;
|
||||||
|
|
||||||
edbus_object_free_cb_del(proxy->obj, _on_object_free, proxy);
|
edbus_object_free_cb_del(proxy->obj, _on_object_free, proxy);
|
||||||
|
edbus_data_del_all(&(proxy->data));
|
||||||
_edbus_proxy_clear(proxy);
|
_edbus_proxy_clear(proxy);
|
||||||
_edbus_proxy_free(proxy);
|
_edbus_proxy_free(proxy);
|
||||||
}
|
}
|
||||||
|
@ -273,6 +276,31 @@ edbus_proxy_free_cb_del(EDBus_Proxy *proxy, EDBus_Free_Cb cb, const void *data)
|
||||||
proxy->cbs_free = edbus_cbs_free_del(proxy->cbs_free, cb, data);
|
proxy->cbs_free = edbus_cbs_free_del(proxy->cbs_free, cb, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
edbus_proxy_data_set(EDBus_Proxy *proxy, const char *key, const void *data)
|
||||||
|
{
|
||||||
|
EDBUS_PROXY_CHECK(proxy);
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN(key);
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN(data);
|
||||||
|
edbus_data_set(&(proxy->data), key, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void *
|
||||||
|
edbus_proxy_data_get(const EDBus_Proxy *proxy, const char *key)
|
||||||
|
{
|
||||||
|
EDBUS_PROXY_CHECK_RETVAL(proxy, NULL);
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN_VAL(key, NULL);
|
||||||
|
return edbus_data_get(&(((EDBus_Proxy *)proxy)->data), key);
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void *
|
||||||
|
edbus_proxy_data_del(EDBus_Proxy *proxy, const char *key)
|
||||||
|
{
|
||||||
|
EDBUS_PROXY_CHECK_RETVAL(proxy, NULL);
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN_VAL(key, NULL);
|
||||||
|
return edbus_data_del(&(((EDBus_Proxy *)proxy)->data), key);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_property_changed_iter(void *data, const void *key, EDBus_Message_Iter *var)
|
_property_changed_iter(void *data, const void *key, EDBus_Message_Iter *var)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue