[Telepathy-commits] [telepathy-mission-control/master] Create the TpProxy on object construction
Alberto Mardegan
alberto.mardegan at nokia.com
Mon Jan 5 04:05:25 PST 2009
This simplifies code and logic a bit.
---
src/mcd-manager.c | 44 ++++++++++++++++----------------------------
1 files changed, 16 insertions(+), 28 deletions(-)
diff --git a/src/mcd-manager.c b/src/mcd-manager.c
index 220d9f6..7f1e0d0 100644
--- a/src/mcd-manager.c
+++ b/src/mcd-manager.c
@@ -150,31 +150,6 @@ _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)
{
@@ -543,6 +518,18 @@ mcd_manager_setup (McdManager *manager)
return FALSE;
}
+ priv->tp_conn_mgr =
+ tp_connection_manager_new (priv->dbus_daemon, priv->name,
+ filename, &error);
+ if (error)
+ {
+ g_warning ("%s, cannot create manager %s: %s", G_STRFUNC,
+ priv->name, error->message);
+ g_error_free (error);
+ g_free (filename);
+ return FALSE;
+ }
+
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, filename, G_KEY_FILE_NONE, &error))
@@ -551,6 +538,7 @@ mcd_manager_setup (McdManager *manager)
filename, error->message);
g_error_free (error);
g_free (filename);
+ g_object_unref (priv->tp_conn_mgr);
return FALSE;
}
g_free (filename);
@@ -558,6 +546,7 @@ mcd_manager_setup (McdManager *manager)
read_protocols (manager, keyfile);
g_key_file_free (keyfile);
+ g_debug ("%s: Manager %s created", G_STRFUNC, priv->name);
return TRUE;
}
@@ -825,11 +814,10 @@ mcd_manager_get_parameters (McdManager *manager, const gchar *protocol)
McdConnection *
mcd_manager_create_connection (McdManager *manager, McdAccount *account)
{
- McdManagerPrivate *priv = manager->priv;
McdConnection *connection;
- if (!priv->tp_conn_mgr)
- _mcd_manager_create_proxy (manager);
+ g_return_val_if_fail (MCD_IS_MANAGER (manager), NULL);
+ g_return_val_if_fail (manager->priv->tp_conn_mgr != NULL, NULL);
connection = MCD_MANAGER_GET_CLASS (manager)->create_connection
(manager, account);
--
1.5.6.5
More information about the Telepathy-commits
mailing list