From 0a19db03a87571603f44c4c9a0b848f0207ae328 Mon Sep 17 00:00:00 2001 From: englebass Date: Sun, 23 Nov 2008 19:56:16 +0000 Subject: [PATCH] Cleanup. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/e_dbus@37776 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/nm/E_Nm.h | 2 ++ src/lib/nm/e_nms_connection.c | 23 ++++++----------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/lib/nm/E_Nm.h b/src/lib/nm/E_Nm.h index 9d14ef9..56996b6 100644 --- a/src/lib/nm/E_Nm.h +++ b/src/lib/nm/E_Nm.h @@ -7,6 +7,8 @@ /* * TODO: * - Return objects instead of object paths. + * - Define who is responsible to clean up mem + * - Only listen to signals if a callback is connected */ #ifdef EAPI diff --git a/src/lib/nm/e_nms_connection.c b/src/lib/nm/e_nms_connection.c index b710cf5..3c5c072 100644 --- a/src/lib/nm/e_nms_connection.c +++ b/src/lib/nm/e_nms_connection.c @@ -17,23 +17,11 @@ cb_updated(void *data, DBusMessage *msg) conn->updated(&(conn->conn), settings); } -static void * -cb_unmarshal_settings(DBusMessage *msg, DBusError *err) -{ - if (dbus_error_is_set(err)) return NULL; - return parse_settings(msg); -} - -static void -cb_free_settings(void *data) -{ - ecore_hash_destroy(data); -} - static void -cb_nms_settings(void *data, void *reply, DBusError *err) +cb_nms_settings(void *data, DBusMessage *msg, DBusError *err) { - Reply_Data *d; + Reply_Data *d; + Ecore_Hash *settings; d = data; if (dbus_error_is_set(err)) @@ -44,7 +32,8 @@ cb_nms_settings(void *data, void *reply, DBusError *err) return; } - d->cb_func(d->data, reply); + settings = parse_settings(msg); + d->cb_func(d->data, settings); free(d); } @@ -113,7 +102,7 @@ e_nms_connection_get_settings(E_NMS_Connection *connection, int (*cb_func)(void msg = e_nms_connection_call_new(conn->conn.service_name, conn->conn.path, "GetSettings"); - ret = e_dbus_method_call_send(conn->nmi->conn, msg, cb_unmarshal_settings, cb_nms_settings, cb_free_settings, -1, d) ? 1 : 0; + ret = e_dbus_message_send(conn->nmi->conn, msg, cb_nms_settings, -1, d) ? 1 : 0; dbus_message_unref(msg); return ret; } -- 2.7.4