[Telepathy-commits] [telepathy-gabble/master] Factorise code in gabble_free_enhanced_contact_capabilities (GPtrArray *)
Alban Crequy
alban.crequy at collabora.co.uk
Fri Dec 5 09:42:38 PST 2008
---
src/connection.c | 39 ++++++++++++++++++---------------------
1 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/src/connection.c b/src/connection.c
index ca56823..d5ccfb3 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -2173,6 +2173,22 @@ gabble_connection_get_handle_contact_capabilities (GabbleConnection *self,
}
}
+static void
+gabble_free_enhanced_contact_capabilities (GPtrArray *caps)
+{
+ guint i;
+
+ for (i = 0; i < caps->len; i++)
+ {
+ GValue monster = {0, };
+
+ g_value_init (&monster, GABBLE_STRUCT_TYPE_ENHANCED_CONTACT_CAPABILITY);
+ g_value_take_boxed (&monster, g_ptr_array_index (caps, i));
+ g_value_unset (&monster);
+ }
+
+ g_ptr_array_free (caps, TRUE);
+}
static void
_emit_contact_capabilities_changed (GabbleConnection *conn,
@@ -2185,7 +2201,6 @@ _emit_contact_capabilities_changed (GabbleConnection *conn,
TpChannelManager *manager;
GPtrArray *ret;
gboolean diff = FALSE;
- guint i;
tp_base_connection_channel_manager_iter_init (&iter, base_conn);
while (tp_base_connection_channel_manager_iter_next (&iter, &manager))
@@ -2220,16 +2235,7 @@ _emit_contact_capabilities_changed (GabbleConnection *conn,
gabble_svc_connection_interface_contact_capabilities_emit_contact_capabilities_changed (
conn, ret);
- for (i = 0; i < ret->len; i++)
- {
- GValue monster = {0, };
-
- g_value_init (&monster, GABBLE_STRUCT_TYPE_ENHANCED_CONTACT_CAPABILITY);
- g_value_take_boxed (&monster, g_ptr_array_index (ret, i));
- g_value_unset (&monster);
- }
-
- g_ptr_array_free (ret, TRUE);
+ gabble_free_enhanced_contact_capabilities (ret);
}
static void
@@ -2683,16 +2689,7 @@ gabble_connection_get_contact_capabilities (
gabble_svc_connection_interface_contact_capabilities_return_from_get_contact_capabilities
(context, ret);
- for (i = 0; i < ret->len; i++)
- {
- GValue monster = {0, };
-
- g_value_init (&monster, GABBLE_STRUCT_TYPE_ENHANCED_CONTACT_CAPABILITY);
- g_value_take_boxed (&monster, g_ptr_array_index (ret, i));
- g_value_unset (&monster);
- }
-
- g_ptr_array_free (ret, TRUE);
+ gabble_free_enhanced_contact_capabilities (ret);
}
--
1.5.6.5
More information about the Telepathy-commits
mailing list