[telepathy-gabble/master] gabble_caps_channel_manager_parse_capabilities: take the parent node instead of the first children as argument

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Thu Jun 25 08:03:03 PDT 2009


This allows us to use node iteration wrappers in in parse_caps
implementations.
---
 src/caps-channel-manager.c  |    4 ++--
 src/caps-channel-manager.h  |    2 +-
 src/ft-manager.c            |    7 ++++---
 src/presence-cache.c        |    2 +-
 src/private-tubes-factory.c |    7 ++++---
 5 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/caps-channel-manager.c b/src/caps-channel-manager.c
index 737662a..4b345c1 100644
--- a/src/caps-channel-manager.c
+++ b/src/caps-channel-manager.c
@@ -95,7 +95,7 @@ void gabble_caps_channel_manager_get_feature_list (
 
 gpointer gabble_caps_channel_manager_parse_capabilities (
     GabbleCapsChannelManager *caps_manager,
-    LmMessageNode *child)
+    LmMessageNode *query_result)
 {
   GabbleCapsChannelManagerIface *iface =
     GABBLE_CAPS_CHANNEL_MANAGER_GET_INTERFACE (caps_manager);
@@ -103,7 +103,7 @@ gpointer gabble_caps_channel_manager_parse_capabilities (
 
   if (method != NULL)
     {
-      return method (caps_manager, child);
+      return method (caps_manager, query_result);
     }
   /* ... else assume there is not caps for this kind of channels */
   return NULL;
diff --git a/src/caps-channel-manager.h b/src/caps-channel-manager.h
index 76cdcdb..6c6edb9 100644
--- a/src/caps-channel-manager.h
+++ b/src/caps-channel-manager.h
@@ -95,7 +95,7 @@ void gabble_caps_channel_manager_get_feature_list (
     GSList **features);
 
 gpointer gabble_caps_channel_manager_parse_capabilities (
-    GabbleCapsChannelManager *manager, LmMessageNode *children);
+    GabbleCapsChannelManager *manager, LmMessageNode *query_result);
 
 void gabble_caps_channel_manager_free_capabilities (GabbleCapsChannelManager *manager,
     gpointer specific_caps);
diff --git a/src/ft-manager.c b/src/ft-manager.c
index 018eb2e..67b8f51 100644
--- a/src/ft-manager.c
+++ b/src/ft-manager.c
@@ -675,12 +675,13 @@ gabble_ft_manager_get_contact_caps (GabbleCapsChannelManager *manager,
 
 static gpointer
 gabble_ft_manager_parse_caps (GabbleCapsChannelManager *manager,
-                              LmMessageNode *children)
+                              LmMessageNode *query_result)
 {
-  LmMessageNode *child;
+  NodeIter i;
 
-  for (child = children; NULL != child; child = child->next)
+  for (i = node_iter (query_result); i; i = node_iter_next (i))
     {
+      LmMessageNode *child = node_iter_data (i);
       const gchar *var;
 
       if (0 != strcmp (child->name, "feature"))
diff --git a/src/presence-cache.c b/src/presence-cache.c
index cbb55c7..a67ab12 100644
--- a/src/presence-cache.c
+++ b/src/presence-cache.c
@@ -926,7 +926,7 @@ parse_contact_caps (TpBaseConnection *base_conn,
       g_assert (GABBLE_IS_CAPS_CHANNEL_MANAGER (manager));
 
       factory_caps = gabble_caps_channel_manager_parse_capabilities (
-          GABBLE_CAPS_CHANNEL_MANAGER (manager), query_result->children);
+          GABBLE_CAPS_CHANNEL_MANAGER (manager), query_result);
 
       if (factory_caps != NULL)
         g_hash_table_insert (per_channel_manager_caps,
diff --git a/src/private-tubes-factory.c b/src/private-tubes-factory.c
index 668e402..5a10640 100644
--- a/src/private-tubes-factory.c
+++ b/src/private-tubes-factory.c
@@ -661,10 +661,10 @@ gabble_private_tubes_factory_free_feat (gpointer data)
 static gpointer
 gabble_private_tubes_factory_parse_caps (
     GabbleCapsChannelManager *manager,
-    LmMessageNode *children)
+    LmMessageNode *query_result)
 {
-  LmMessageNode *child;
   TubesCapabilities *caps;
+  NodeIter i;
 
   caps = g_new0 (TubesCapabilities, 1);
   caps->stream_tube_caps = g_hash_table_new_full (g_str_hash, g_str_equal,
@@ -672,8 +672,9 @@ gabble_private_tubes_factory_parse_caps (
   caps->dbus_tube_caps = g_hash_table_new_full (g_str_hash, g_str_equal,
       g_free, gabble_private_tubes_factory_free_feat);
 
-  for (child = children; NULL != child; child = child->next)
+  for (i = node_iter (query_result); i; i = node_iter_next (i))
     {
+      LmMessageNode *child = node_iter_data (i);
       const gchar *var;
 
       if (0 != strcmp (child->name, "feature"))
-- 
1.5.6.5




More information about the telepathy-commits mailing list