Raphael Kubo da Costa <raphael.kubo.da.co...@intel.com> writes:

> The prototypes for those functions are defined in edbus_proxy.h, however
> there's no implementation at all.

And now a version that does not leak...

Index: src/lib/edbus/edbus_proxy.c
===================================================================
--- src/lib/edbus/edbus_proxy.c	(revision 83183)
+++ src/lib/edbus/edbus_proxy.c	(working copy)
@@ -29,6 +29,7 @@
    Eina_Inlist              *pendings;
    Eina_List                *handlers;
    Eina_Inlist              *cbs_free;
+   Eina_Inlist              *data;
    EDBus_Proxy_Context_Event event_handlers[EDBUS_PROXY_EVENT_LAST];
    Eina_Hash *props;
    EDBus_Signal_Handler *properties_changed;
@@ -190,6 +191,7 @@
    EDBUS_PROXY_CHECK(proxy);
    DBG("proxy=%p, refcount=%d, interface=%s, obj=%p",
        proxy, proxy->refcount, proxy->interface, proxy->obj);
+   edbus_data_del_all(&(proxy->data));
    _edbus_proxy_clear(proxy);
    _edbus_proxy_free(proxy);
 }
@@ -234,6 +236,7 @@
    if (proxy->refcount > 0) return;
 
    edbus_object_free_cb_del(proxy->obj, _on_object_free, proxy);
+   edbus_data_del_all(&(proxy->data));
    _edbus_proxy_clear(proxy);
    _edbus_proxy_free(proxy);
 }
@@ -273,6 +276,31 @@
    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
 _property_changed_iter(void *data, const void *key, EDBus_Message_Iter *var)
 {
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to