[Pkg-telepathy-commits] [telepathy-mission-control-6] 59/90: Pass TpClientFactory to McdDispatcher

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 5fd0d654c8fcb45da6937639c9495b35378028d3
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Tue Apr 1 12:30:50 2014 +0100

    Pass TpClientFactory to McdDispatcher
---
 src/mcd-dispatcher.c | 33 ++++++++++++++++++++++++++-------
 src/mcd-dispatcher.h |  2 +-
 src/mcd-master.c     |  2 +-
 3 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index 58aef9d..a47f47c 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -112,6 +112,7 @@ struct _McdDispatcherPrivate
     /* Channel dispatch operations */
     GList *operations;
 
+    TpClientFactory *factory;
     TpDBusDaemon *dbus_daemon;
 
     /* hash table containing clients
@@ -145,6 +146,7 @@ enum
 {
     PROP_0,
     PROP_DBUS_DAEMON,
+    PROP_FACTORY,
     PROP_MCD_MASTER,
     PROP_INTERFACES,
     PROP_SUPPORTS_REQUEST_HINTS,
@@ -331,10 +333,14 @@ _mcd_dispatcher_set_property (GObject * obj, guint prop_id,
 
     switch (prop_id)
     {
-    case PROP_DBUS_DAEMON:
-	tp_clear_object (&priv->dbus_daemon);
-	priv->dbus_daemon = TP_DBUS_DAEMON (g_value_dup_object (val));
-	break;
+    case PROP_FACTORY:
+        g_assert (priv->factory == NULL); /* construct-only */
+        g_assert (priv->dbus_daemon == NULL);
+        priv->factory = TP_CLIENT_FACTORY (g_value_dup_object (val));
+        priv->dbus_daemon = tp_client_factory_get_dbus_daemon (priv->factory);
+        g_object_ref (priv->dbus_daemon);
+        break;
+
     case PROP_MCD_MASTER:
 	master = g_value_get_object (val);
 	g_object_ref (G_OBJECT (master));
@@ -370,6 +376,10 @@ _mcd_dispatcher_get_property (GObject * obj, guint prop_id,
 	g_value_set_object (val, priv->dbus_daemon);
 	break;
 
+    case PROP_FACTORY:
+        g_value_set_object (val, priv->factory);
+        break;
+
     case PROP_MCD_MASTER:
 	g_value_set_object (val, priv->master);
 	break;
@@ -740,6 +750,7 @@ _mcd_dispatcher_dispose (GObject * object)
     tp_clear_pointer (&priv->connections, g_hash_table_unref);
     tp_clear_object (&priv->master);
     tp_clear_object (&priv->dbus_daemon);
+    tp_clear_object (&priv->factory);
 
     G_OBJECT_CLASS (mcd_dispatcher_parent_class)->dispose (object);
 }
@@ -843,10 +854,17 @@ mcd_dispatcher_class_init (McdDispatcherClass * klass)
 
     /* Properties */
     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_object_class_install_property
         (object_class, PROP_DBUS_DAEMON,
          g_param_spec_object ("dbus-daemon", "DBus daemon", "DBus daemon",
                               TP_TYPE_DBUS_DAEMON,
-                              G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+                              G_PARAM_READABLE));
+
     g_object_class_install_property
         (object_class, PROP_MCD_MASTER,
          g_param_spec_object ("mcd-master", "McdMaster", "McdMaster",
@@ -890,11 +908,12 @@ mcd_dispatcher_init (McdDispatcher * dispatcher)
 }
 
 McdDispatcher *
-mcd_dispatcher_new (TpDBusDaemon *dbus_daemon, McdMaster *master)
+mcd_dispatcher_new (TpClientFactory *factory,
+    McdMaster *master)
 {
     McdDispatcher *obj;
     obj = MCD_DISPATCHER (g_object_new (MCD_TYPE_DISPATCHER,
-					"dbus-daemon", dbus_daemon,
+					"factory", factory,
 					"mcd-master", master, 
 					NULL));
     return obj;
diff --git a/src/mcd-dispatcher.h b/src/mcd-dispatcher.h
index 461254d..fcb33c9 100644
--- a/src/mcd-dispatcher.h
+++ b/src/mcd-dispatcher.h
@@ -62,7 +62,7 @@ struct _McdDispatcherClass
 
 GType mcd_dispatcher_get_type (void);
 
-McdDispatcher *mcd_dispatcher_new (TpDBusDaemon *dbus_daemon,
+McdDispatcher *mcd_dispatcher_new (TpClientFactory *factory,
 				   McdMaster * master);
 
 G_END_DECLS
diff --git a/src/mcd-master.c b/src/mcd-master.c
index 822dc30..f3d4bd2 100644
--- a/src/mcd-master.c
+++ b/src/mcd-master.c
@@ -210,7 +210,7 @@ mcd_master_constructor (GType type, guint n_params,
 
     priv->account_manager = mcd_account_manager_new (priv->client_factory);
 
-    priv->dispatcher = mcd_dispatcher_new (priv->dbus_daemon, master);
+    priv->dispatcher = mcd_dispatcher_new (priv->client_factory, master);
     g_assert (MCD_IS_DISPATCHER (priv->dispatcher));
 
     _mcd_account_manager_setup (priv->account_manager);

-- 
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