[telepathy-mission-control/master] McdClientRegistry: add a stub "ready" signal

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Oct 19 07:01:12 PDT 2009


---
 src/client-registry.c |    8 ++++++++
 src/mcd-dispatcher.c  |   14 ++++++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/client-registry.c b/src/client-registry.c
index 679731e..38cfd39 100644
--- a/src/client-registry.c
+++ b/src/client-registry.c
@@ -34,6 +34,7 @@ enum
 enum
 {
     S_CLIENT_ADDED,
+    S_READY,
     N_SIGNALS
 };
 
@@ -245,6 +246,13 @@ _mcd_client_registry_class_init (McdClientRegistryClass *cls)
       0, NULL, NULL,
       g_cclosure_marshal_VOID__OBJECT,
       G_TYPE_NONE, 1, MCD_TYPE_CLIENT_PROXY);
+
+  signals[S_READY] = g_signal_new ("ready",
+      G_OBJECT_CLASS_TYPE (cls),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
+      0, NULL, NULL,
+      g_cclosure_marshal_VOID__VOID,
+      G_TYPE_NONE, 0);
 }
 
 McdClientRegistry *
diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index 58ba8fc..7ce8971 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -1795,6 +1795,14 @@ mcd_dispatcher_client_added_cb (McdClientRegistry *clients G_GNUC_UNUSED,
 }
 
 static void
+mcd_dispatcher_client_registry_ready_cb (McdClientRegistry *clients,
+                                         McdClientProxy *client,
+                                         McdDispatcher *self)
+{
+    DEBUG ("client registry ready");
+}
+
+static void
 _mcd_dispatcher_dispose (GObject * object)
 {
     McdDispatcherPrivate *priv = MCD_DISPATCHER_PRIV (object);
@@ -1827,6 +1835,9 @@ _mcd_dispatcher_dispose (GObject * object)
                                               mcd_dispatcher_client_added_cb,
                                               object);
 
+        g_signal_handlers_disconnect_by_func (priv->clients,
+            mcd_dispatcher_client_registry_ready_cb, object);
+
         g_object_unref (priv->clients);
         priv->clients = NULL;
     }
@@ -2136,6 +2147,9 @@ mcd_dispatcher_constructed (GObject *object)
     priv->clients = _mcd_client_registry_new (priv->dbus_daemon);
     g_signal_connect (priv->clients, "client-added",
                       G_CALLBACK (mcd_dispatcher_client_added_cb), object);
+    g_signal_connect (priv->clients, "ready",
+                      G_CALLBACK (mcd_dispatcher_client_registry_ready_cb),
+                      object);
 
     DEBUG ("Starting to look for clients");
     priv->startup_completed = FALSE;
-- 
1.5.6.5




More information about the telepathy-commits mailing list