diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2010-01-11 23:57:16 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2010-01-12 00:04:47 +0800 |
commit | 5fc16e172814745c2f40dffb35bb04c3d4f75f2b (patch) | |
tree | f194360dc8f55e3e1671894df1581bd84456a950 /libempathy | |
parent | eab24ccdd00311bd06ce47c36ac388489237ae12 (diff) | |
download | gsoc2013-empathy-5fc16e172814745c2f40dffb35bb04c3d4f75f2b.tar gsoc2013-empathy-5fc16e172814745c2f40dffb35bb04c3d4f75f2b.tar.gz gsoc2013-empathy-5fc16e172814745c2f40dffb35bb04c3d4f75f2b.tar.bz2 gsoc2013-empathy-5fc16e172814745c2f40dffb35bb04c3d4f75f2b.tar.lz gsoc2013-empathy-5fc16e172814745c2f40dffb35bb04c3d4f75f2b.tar.xz gsoc2013-empathy-5fc16e172814745c2f40dffb35bb04c3d4f75f2b.tar.zst gsoc2013-empathy-5fc16e172814745c2f40dffb35bb04c3d4f75f2b.zip |
factor out connect_account
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-dispatcher.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c index e80f7022f..b0991c1ce 100644 --- a/libempathy/empathy-dispatcher.c +++ b/libempathy/empathy-dispatcher.c @@ -1136,6 +1136,19 @@ empathy_dispatcher_class_init (EmpathyDispatcherClass *klass) } static void +connect_account (EmpathyDispatcher *self, + TpAccount *account) +{ + EmpathyDispatcherPriv *priv = GET_PRIV (self); + TpConnection *conn = tp_account_get_connection (account); + if (conn != NULL) + dispatcher_status_changed_cb (account, 0, 0, 0, NULL, NULL, self); + + id = g_signal_connect (account, "status-changed", + G_CALLBACK (dispatcher_status_changed_cb), self); +} + +static void account_manager_prepared_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) @@ -1156,14 +1169,8 @@ account_manager_prepared_cb (GObject *source_object, for (l = accounts; l; l = l->next) { TpAccount *a = l->data; - TpConnection *conn = tp_account_get_connection (a); - - if (conn != NULL) - dispatcher_status_changed_cb (a, 0, 0, 0, NULL, NULL, self); - empathy_signal_connect_weak (a, "status-changed", - G_CALLBACK (dispatcher_status_changed_cb), - G_OBJECT (self)); + connect_account (self, a); } g_list_free (accounts); } |