summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-03-17 16:46:44 +0100
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-03-17 16:48:05 +0100
commite8b9fc31f0f4fee539dd6248bde70c2c505a6df4 (patch)
tree4062b60fc8307f7b0d6e4de00bd59ddfcee7764f
parent9415b529a87ed63faa770799655c9506c86ea6b4 (diff)
downloadtelepathy-glib-e8b9fc31f0f4fee539dd6248bde70c2c505a6df4.tar.gz
connection-manager: factor out all_cms_prepared()
-rw-r--r--telepathy-glib/connection-manager.c46
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
{