summaryrefslogtreecommitdiffstats
path: root/gdbus
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-03-24 13:56:26 +0200
committerMarcel Holtmann <marcel@holtmann.org>2015-03-26 10:02:05 +0100
commitdae225a0d64235780e09bb699afa101aeab6cc94 (patch)
tree03c5be26306a548d6c311aead26a10b54e1ea0f1 /gdbus
parent97ac3f7c769b2a6c982a0889475e0c76296c383f (diff)
downloadofono-dae225a0d64235780e09bb699afa101aeab6cc94.tar.bz2
gdbus: Make GDBusClient work without ObjectManager
This makes GDBusClient work normally without ObjectManager.
Diffstat (limited to 'gdbus')
-rw-r--r--gdbus/client.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gdbus/client.c b/gdbus/client.c
index fe0c0dbf..48711ae8 100644
--- a/gdbus/client.c
+++ b/gdbus/client.c
@@ -1111,7 +1111,8 @@ static void get_managed_objects(GDBusClient *client)
if (!client->connected)
return;
- if (!client->proxy_added && !client->proxy_removed) {
+ if ((!client->proxy_added && !client->proxy_removed) ||
+ !client->root_path) {
refresh_properties(client);
return;
}
@@ -1212,7 +1213,7 @@ GDBusClient *g_dbus_client_new_full(DBusConnection *connection,
GDBusClient *client;
unsigned int i;
- if (!connection || !service || !root_path)
+ if (!connection || !service)
return NULL;
client = g_try_new0(GDBusClient, 1);
@@ -1238,6 +1239,10 @@ GDBusClient *g_dbus_client_new_full(DBusConnection *connection,
service_connect,
service_disconnect,
client, NULL);
+
+ if (!root_path)
+ return g_dbus_client_ref(client);
+
client->added_watch = g_dbus_add_signal_watch(connection, service,
client->root_path,
DBUS_INTERFACE_OBJECT_MANAGER,