From 5a49f65f6f0a919bfc0b9eda3dc54c1ef24a136a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Tue, 11 Dec 2012 19:50:06 +0000 Subject: [PATCH] edbus: Allow to monitor unique id in edbus_name_owner_changed_callback_add MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows to monitor when a client exits. Clients in general don't register a name in the bus and in some cases it's even not allowed to do (for example an agent talking to bluetoothd, that runs in system bus). Patch by: José Roberto de Souza SVN revision: 80687 --- legacy/edbus/src/lib/edbus_core.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/legacy/edbus/src/lib/edbus_core.c b/legacy/edbus/src/lib/edbus_core.c index c18fdebf21..c7618bbe4f 100644 --- a/legacy/edbus/src/lib/edbus_core.c +++ b/legacy/edbus/src/lib/edbus_core.c @@ -493,12 +493,15 @@ edbus_connection_name_get(EDBus_Connection *conn, const char *name) cn->name = eina_stringshare_add(name); cn->objects = eina_hash_string_superfast_new(NULL); - if (name[0] == ':' || !strcmp(name, EDBUS_FDO_BUS)) + if (!strcmp(name, EDBUS_FDO_BUS)) { cn->unique_id = eina_stringshare_add(name); goto end; } - edbus_name_owner_get(conn, cn->name, on_get_name_owner, cn); + else if (name[0] == ':') + cn->unique_id = eina_stringshare_add(name); + else + edbus_name_owner_get(conn, cn->name, on_get_name_owner, cn); cn->name_owner_changed = _edbus_signal_handler_add(conn, EDBUS_FDO_BUS, EDBUS_FDO_PATH, EDBUS_FDO_INTERFACE,