[Telepathy-commits] [telepathy-mission-control/master] Move proxy creation into a separate function

Alberto Mardegan alberto.mardegan at nokia.com
Mon Jan 5 03:37:25 PST 2009


---
 src/mcd-manager.c |   44 ++++++++++++++++++++++++++------------------
 1 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/src/mcd-manager.c b/src/mcd-manager.c
index 251caf4..81a83b0 100644
--- a/src/mcd-manager.c
+++ b/src/mcd-manager.c
@@ -153,6 +153,31 @@ _mcd_manager_filename (const gchar *unique_name)
     return filepath;
 }
 
+static gboolean
+_mcd_manager_create_proxy (McdManager *manager)
+{
+    McdManagerPrivate *priv = manager->priv;
+    GError *error = NULL;
+    gchar *manager_filename;
+
+    g_return_val_if_fail (priv->tp_conn_mgr == NULL, TRUE);
+
+    manager_filename = _mcd_manager_filename (priv->name);
+    priv->tp_conn_mgr =
+        tp_connection_manager_new (priv->dbus_daemon, priv->name,
+                                   manager_filename, &error);
+    g_free (manager_filename);
+    if (error)
+    {
+        g_warning ("%s, cannot create manager %s: %s", G_STRFUNC,
+                   priv->name, error->message);
+        g_error_free (error);
+        return FALSE;
+    }
+    g_debug ("%s: Manager %s created", G_STRFUNC, priv->name);
+    return TRUE;
+}
+
 static gint
 _find_connection_by_path (gconstpointer data, gconstpointer user_data)
 {
@@ -825,24 +850,7 @@ mcd_manager_create_connection (McdManager *manager, McdAccount *account)
     McdConnection *connection;
 
     if (!priv->tp_conn_mgr)
-    {
-	GError *error = NULL;
-	gchar *manager_filename;
-
-	manager_filename = _mcd_manager_filename (priv->name);
-	priv->tp_conn_mgr =
-	    tp_connection_manager_new (priv->dbus_daemon, priv->name,
-				       manager_filename, &error);
-	g_free (manager_filename);
-	if (error)
-	{
-	    g_warning ("%s, cannot create manager %s: %s", G_STRFUNC,
-		       priv->name, error->message);
-	    g_error_free (error);
-	    return NULL;
-	}
-	g_debug ("%s: Manager %s created", G_STRFUNC, priv->name);
-    }
+        _mcd_manager_create_proxy (manager);
 
     connection = MCD_MANAGER_GET_CLASS (manager)->create_connection
         (manager, account);
-- 
1.5.6.5




More information about the Telepathy-commits mailing list