From c603073254c4ef8fdc52966c533d201c2618bebf Mon Sep 17 00:00:00 2001 From: Bruno Dilly Date: Mon, 3 Sep 2012 22:03:23 +0000 Subject: [PATCH] e/connman: unregister agent SVN revision: 76063 --- src/modules/connman/e_connman.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/modules/connman/e_connman.c b/src/modules/connman/e_connman.c index ade89ae4b..bfb13c70d 100644 --- a/src/modules/connman/e_connman.c +++ b/src/modules/connman/e_connman.c @@ -672,6 +672,28 @@ static void _manager_get_prop_cb(void *data, DBusMessage *reply, } } +static void +_manager_agent_unregister(void) +{ + const char *path = AGENT_PATH; + DBusMessageIter itr; + DBusMessage *msg; + + msg = dbus_message_new_method_call(CONNMAN_BUS_NAME, "/", + CONNMAN_MANAGER_IFACE, "UnregisterAgent"); + + if (!msg) + { + ERR("Could not create D-Bus message"); + return; + } + + dbus_message_iter_init_append(msg, &itr); + dbus_message_iter_append_basic(&itr, DBUS_TYPE_OBJECT_PATH, &path); + + e_dbus_message_send(conn, msg, NULL, -1, NULL); +} + static void _manager_agent_register_cb(void *data, DBusMessage *reply, DBusError *err) { @@ -799,6 +821,7 @@ static struct Connman_Manager *_manager_new(void) static inline void _e_connman_system_name_owner_exit(void) { + _manager_agent_unregister(); econnman_mod_manager_inout(NULL); _manager_free(connman_manager); connman_manager = NULL;