void *signal_data;
GDBusProxyFunction proxy_added;
GDBusProxyFunction proxy_removed;
+ GDBusClientFunction ready;
+ void *ready_data;
GDBusPropertyFunction property_changed;
void *user_data;
GList *proxy_list;
dbus_message_iter_next(&dict);
}
+
+ if (client->ready)
+ client->ready(client, client->ready_data);
}
static void get_managed_objects_reply(DBusPendingCall *call, void *user_data)
return TRUE;
}
+gboolean g_dbus_client_set_ready_watch(GDBusClient *client,
+ GDBusClientFunction ready, void *user_data)
+{
+ if (client == NULL)
+ return FALSE;
+
+ client->ready = ready;
+ client->ready_data = user_data;
+
+ return TRUE;
+}
+
gboolean g_dbus_client_set_proxy_handlers(GDBusClient *client,
GDBusProxyFunction proxy_added,
GDBusProxyFunction proxy_removed,
GDBusReturnFunction function, void *user_data,
GDBusDestroyFunction destroy);
+typedef void (* GDBusClientFunction) (GDBusClient *client, void *user_data);
typedef void (* GDBusProxyFunction) (GDBusProxy *proxy, void *user_data);
typedef void (* GDBusPropertyFunction) (GDBusProxy *proxy, const char *name,
DBusMessageIter *iter, void *user_data);
GDBusWatchFunction function, void *user_data);
gboolean g_dbus_client_set_signal_watch(GDBusClient *client,
GDBusMessageFunction function, void *user_data);
-
+gboolean g_dbus_client_set_ready_watch(GDBusClient *client,
+ GDBusClientFunction ready, void *user_data);
gboolean g_dbus_client_set_proxy_handlers(GDBusClient *client,
GDBusProxyFunction proxy_added,
GDBusProxyFunction proxy_removed,