From e8b9fc31f0f4fee539dd6248bde70c2c505a6df4 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Mon, 17 Mar 2014 16:46:44 +0100 Subject: connection-manager: factor out all_cms_prepared() --- telepathy-glib/connection-manager.c | 46 +++++++++++++++++++++---------------- 1 file 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 @@ -1788,6 +1788,31 @@ list_context_unref (_ListContext *list_context) g_slice_free (_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, @@ -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 { -- cgit v1.2.1