diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2014-03-17 16:46:44 +0100 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2014-03-17 16:48:05 +0100 |
commit | e8b9fc31f0f4fee539dd6248bde70c2c505a6df4 (patch) | |
tree | 4062b60fc8307f7b0d6e4de00bd59ddfcee7764f | |
parent | 9415b529a87ed63faa770799655c9506c86ea6b4 (diff) | |
download | telepathy-glib-e8b9fc31f0f4fee539dd6248bde70c2c505a6df4.tar.gz |
connection-manager: factor out all_cms_prepared()
-rw-r--r-- | telepathy-glib/connection-manager.c | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/telepathy-glib/connection-manager.c b/telepathy-glib/connection-manager.c index 8d77617c8..34b3889e0 100644 --- a/telepathy-glib/connection-manager.c +++ b/telepathy-glib/connection-manager.c @@ -1789,6 +1789,31 @@ list_context_unref (_ListContext *list_context) } static void +all_cms_prepared (_ListContext *list_context) +{ + TpConnectionManager **cms; + guint n_cms = list_context->arr->len; + + DEBUG ("We've prepared as many as possible of %u CMs", n_cms); + + g_assert (list_context->callback != NULL); + + g_ptr_array_add (list_context->arr, NULL); + cms = (TpConnectionManager **) list_context->arr->pdata; + + /* If we never had a weak object anyway, call the callback. + * If we had a weak object when we started, only call the callback + * if it hasn't died yet. */ + if (!list_context->had_weak_object || list_context->weak_object != NULL) + { + list_context->callback (cms, n_cms, NULL, list_context->user_data, + list_context->weak_object); + } + + list_context->callback = NULL; +} + +static void tp_list_connection_managers_cm_prepared (GObject *source, GAsyncResult *result, gpointer user_data) @@ -1814,26 +1839,7 @@ tp_list_connection_managers_cm_prepared (GObject *source, if (list_context->cms_to_ready == 0) { - TpConnectionManager **cms; - guint n_cms = list_context->arr->len; - - DEBUG ("We've prepared as many as possible of %u CMs", n_cms); - - g_assert (list_context->callback != NULL); - - g_ptr_array_add (list_context->arr, NULL); - cms = (TpConnectionManager **) list_context->arr->pdata; - - /* If we never had a weak object anyway, call the callback. - * If we had a weak object when we started, only call the callback - * if it hasn't died yet. */ - if (!list_context->had_weak_object || list_context->weak_object != NULL) - { - list_context->callback (cms, n_cms, NULL, list_context->user_data, - list_context->weak_object); - } - - list_context->callback = NULL; + all_cms_prepared (list_context); } else { |