[Telepathy-commits] [telepathy-mission-control/master] Use tp_connection_manager_call_when_ready
Alberto Mardegan
alberto.mardegan at nokia.com
Wed Feb 25 05:48:01 PST 2009
---
src/mcd-manager.c | 19 ++++++-------------
1 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/src/mcd-manager.c b/src/mcd-manager.c
index f4c3a0c..3306f5a 100644
--- a/src/mcd-manager.c
+++ b/src/mcd-manager.c
@@ -83,21 +83,16 @@ enum
static GQuark pending_got_info = 0;
static void
-on_got_info (TpConnectionManager *tp_conn_mgr, guint source,
- McdManager *manager)
+on_manager_ready (TpConnectionManager *tp_conn_mgr, const GError *error,
+ gpointer user_data, GObject *weak_object)
{
+ McdManager *manager = MCD_MANAGER (weak_object);
McdManagerPrivate *priv;
priv = manager->priv;
- if (priv->got_info) return;
-
- if (source == TP_CM_INFO_SOURCE_NONE &&
- tp_connection_manager_activate (tp_conn_mgr))
- return; /* let's wait for live introspection */
-
g_debug ("manager %s is ready", priv->name);
priv->got_info = TRUE;
- mcd_object_ready (manager, pending_got_info, NULL);
+ mcd_object_ready (manager, pending_got_info, error);
}
static gint
@@ -237,8 +232,6 @@ _mcd_manager_dispose (GObject * object)
if (priv->tp_conn_mgr)
{
- g_signal_handlers_disconnect_by_func (priv->tp_conn_mgr,
- on_got_info, object);
g_object_unref (priv->tp_conn_mgr);
priv->tp_conn_mgr = NULL;
}
@@ -302,8 +295,8 @@ mcd_manager_setup (McdManager *manager)
goto error;
}
- g_signal_connect (priv->tp_conn_mgr, "got-info", G_CALLBACK (on_got_info),
- manager);
+ tp_connection_manager_call_when_ready (priv->tp_conn_mgr, on_manager_ready,
+ NULL, NULL, (GObject *)manager);
g_debug ("%s: Manager %s created", G_STRFUNC, priv->name);
return TRUE;
--
1.5.6.5
More information about the telepathy-commits
mailing list