[Pkg-telepathy-commits] [telepathy-mission-control-6] 60/90: McdClientRegistry: have a TpClientFactory

Simon McVittie smcv at debian.org
Wed May 14 12:09:05 UTC 2014


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch debian
in repository telepathy-mission-control-6.

commit 6571a4d08c716f07d78ab1167aaf4dbe9ff1adc9
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Tue Apr 1 12:37:41 2014 +0100

    McdClientRegistry: have a TpClientFactory
---
 src/client-registry.c | 35 +++++++++++++++++++++++++++++------
 src/client-registry.h |  3 ++-
 src/mcd-dispatcher.c  |  2 +-
 3 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/src/client-registry.c b/src/client-registry.c
index cebcf4d..65e63ae 100644
--- a/src/client-registry.c
+++ b/src/client-registry.c
@@ -36,6 +36,7 @@ G_DEFINE_TYPE (McdClientRegistry, _mcd_client_registry, G_TYPE_OBJECT)
 enum
 {
   PROP_0,
+  PROP_FACTORY,
   PROP_DBUS_DAEMON
 };
 
@@ -54,6 +55,7 @@ struct _McdClientRegistryPrivate
    * owned gchar * well_known_name -> owned McdClientProxy */
   GHashTable *clients;
 
+  TpClientFactory *factory;
   TpDBusDaemon *dbus_daemon;
   /* subscription to NameOwnerChanged */
   guint noc_id;
@@ -354,6 +356,7 @@ mcd_client_registry_constructed (GObject *object)
   if (chain_up != NULL)
     chain_up (object);
 
+  g_return_if_fail (self->priv->factory != NULL);
   g_return_if_fail (self->priv->dbus_daemon != NULL);
 
   DEBUG ("Starting to look for clients");
@@ -374,9 +377,12 @@ mcd_client_registry_set_property (GObject *object,
 
   switch (prop_id)
     {
-    case PROP_DBUS_DAEMON:
-      g_assert (self->priv->dbus_daemon == NULL); /* it's construct-only */
-      self->priv->dbus_daemon = TP_DBUS_DAEMON (g_value_dup_object (value));
+    case PROP_FACTORY:
+      g_assert (self->priv->factory == NULL); /* it's construct-only */
+      g_assert (self->priv->dbus_daemon == NULL);
+      self->priv->factory = TP_CLIENT_FACTORY (g_value_dup_object (value));
+      self->priv->dbus_daemon =
+        g_object_ref (tp_client_factory_get_dbus_daemon (self->priv->factory));
       break;
 
     default:
@@ -399,6 +405,10 @@ mcd_client_registry_get_property (GObject *object,
       g_value_set_object (value, self->priv->dbus_daemon);
       break;
 
+    case PROP_FACTORY:
+      g_value_set_object (value, self->priv->factory);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -421,6 +431,7 @@ mcd_client_registry_dispose (GObject *object)
     }
 
   tp_clear_object (&self->priv->dbus_daemon);
+  tp_clear_object (&self->priv->factory);
 
   if (self->priv->clients != NULL)
     {
@@ -447,10 +458,15 @@ _mcd_client_registry_class_init (McdClientRegistryClass *cls)
   object_class->set_property = mcd_client_registry_set_property;
   object_class->dispose = mcd_client_registry_dispose;
 
+  g_object_class_install_property (object_class, PROP_FACTORY,
+      g_param_spec_object ("factory", "Factory", "Client factory",
+        TP_TYPE_CLIENT_FACTORY,
+        G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_property (object_class, PROP_DBUS_DAEMON,
       g_param_spec_object ("dbus-daemon", "D-Bus daemon", "D-Bus daemon",
         TP_TYPE_DBUS_DAEMON,
-        G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
   signals[S_CLIENT_ADDED] = g_signal_new ("client-added",
       G_OBJECT_CLASS_TYPE (cls),
@@ -468,10 +484,10 @@ _mcd_client_registry_class_init (McdClientRegistryClass *cls)
 }
 
 McdClientRegistry *
-_mcd_client_registry_new (TpDBusDaemon *dbus_daemon)
+_mcd_client_registry_new (TpClientFactory *factory)
 {
   return g_object_new (MCD_TYPE_CLIENT_REGISTRY,
-      "dbus-daemon", dbus_daemon,
+      "factory", factory,
       NULL);
 }
 
@@ -683,3 +699,10 @@ _mcd_client_registry_get_dbus_daemon (McdClientRegistry *self)
     g_return_val_if_fail (MCD_IS_CLIENT_REGISTRY (self), NULL);
     return self->priv->dbus_daemon;
 }
+
+TpClientFactory *
+mcd_client_registry_get_factory (McdClientRegistry *self)
+{
+    g_return_val_if_fail (MCD_IS_CLIENT_REGISTRY (self), NULL);
+    return self->priv->factory;
+}
diff --git a/src/client-registry.h b/src/client-registry.h
index fb81f6d..abdb9a7 100644
--- a/src/client-registry.h
+++ b/src/client-registry.h
@@ -64,9 +64,10 @@ GType _mcd_client_registry_get_type (void);
                               McdClientRegistryClass))
 
 G_GNUC_INTERNAL McdClientRegistry *_mcd_client_registry_new (
-    TpDBusDaemon *dbus_daemon);
+    TpClientFactory *factory);
 
 TpDBusDaemon *_mcd_client_registry_get_dbus_daemon (McdClientRegistry *self);
+TpClientFactory *mcd_client_registry_get_factory (McdClientRegistry *self);
 
 G_GNUC_INTERNAL McdClientProxy *_mcd_client_registry_lookup (
     McdClientRegistry *self, const gchar *well_known_name);
diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index a47f47c..6dcd8c1 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -796,7 +796,7 @@ mcd_dispatcher_constructed (GObject *object)
 
     priv->handler_map = _mcd_handler_map_new (priv->dbus_daemon);
 
-    priv->clients = _mcd_client_registry_new (priv->dbus_daemon);
+    priv->clients = _mcd_client_registry_new (priv->factory);
     g_signal_connect (priv->clients, "client-added",
                       G_CALLBACK (mcd_dispatcher_client_added_cb), object);
     g_signal_connect (priv->clients, "ready",

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-telepathy/telepathy-mission-control-6.git



More information about the Pkg-telepathy-commits mailing list