[telepathy-gabble/master] conn-olpc.c: port to node iteration wrappers
Dafydd Harries
daf at rhydd.org
Mon Jun 29 06:58:31 PDT 2009
---
src/conn-olpc.c | 58 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 34 insertions(+), 24 deletions(-)
diff --git a/src/conn-olpc.c b/src/conn-olpc.c
index 58ccdd8..ee4d866 100644
--- a/src/conn-olpc.c
+++ b/src/conn-olpc.c
@@ -259,6 +259,7 @@ get_buddy_properties_from_search_reply_cb (GabbleConnection *conn,
LmMessageNode *query, *buddy;
const gchar *buddy_jid;
GError *error = NULL;
+ NodeIter i;
/* Which buddy are we requesting properties for ? */
buddy = lm_message_node_find_child (sent_msg->node, "buddy");
@@ -276,11 +277,13 @@ get_buddy_properties_from_search_reply_cb (GabbleConnection *conn,
goto search_reply_cb_end;
}
- for (buddy = query->children; buddy != NULL; buddy = buddy->next)
+ for (i = node_iter (query); i; i = node_iter_next (i))
{
const gchar *jid;
+ buddy = node_iter_data (i);
jid = lm_message_node_get_attribute (buddy, "jid");
+
if (!tp_strdiff (jid, buddy_jid))
{
LmMessageNode *properties_node;
@@ -705,20 +708,22 @@ extract_activities (GabbleConnection *conn,
TpHandle sender)
{
LmMessageNode *activities_node;
- LmMessageNode *node;
TpHandleSet *activities_set, *old_activities;
TpHandleRepoIface *room_repo = tp_base_connection_get_handles (
(TpBaseConnection *) conn, TP_HANDLE_TYPE_ROOM);
+ NodeIter i;
activities_node = lm_message_node_find_child (msg->node, "activities");
activities_set = tp_handle_set_new (room_repo);
- for (node = (activities_node != NULL ? activities_node->children : NULL);
- node;
- node = node->next)
+
+ for (i = (activities_node != NULL ? node_iter (activities_node) : NULL);
+ i;
+ i = node_iter_next (i))
{
const gchar *act_id;
const gchar *room;
+ LmMessageNode *node = node_iter_data (i);
GabbleOlpcActivity *activity;
TpHandle room_handle;
@@ -2017,15 +2022,17 @@ update_activities_properties (GabbleConnection *conn,
LmMessage *msg)
{
const gchar *room;
- LmMessageNode *node, *properties_node;
+ LmMessageNode *node;
+ NodeIter i;
node = lm_message_node_find_child (msg->node, "activities");
if (node == NULL)
return FALSE;
- for (properties_node = node->children; properties_node != NULL;
- properties_node = properties_node->next)
+ for (i = node_iter (node); i; i = node_iter_next (i))
{
+ LmMessageNode *properties_node = node_iter_data (i);
+
if (strcmp (properties_node->name, "properties") != 0)
continue;
@@ -2893,10 +2900,11 @@ populate_buddies_from_nodes (GabbleConnection *conn,
{
TpHandleRepoIface *contact_repo = tp_base_connection_get_handles (
(TpBaseConnection *) conn, TP_HANDLE_TYPE_CONTACT);
- LmMessageNode *buddy;
+ NodeIter i;
- for (buddy = node->children; buddy != NULL; buddy = buddy->next)
+ for (i = node_iter (node); i; i = node_iter_next (i))
{
+ LmMessageNode *buddy = node_iter_data (i);
const gchar *jid;
TpHandle handle;
@@ -2908,14 +2916,14 @@ populate_buddies_from_nodes (GabbleConnection *conn,
handle = tp_handle_ensure (contact_repo, jid, NULL, NULL);
if (handle == 0)
{
- guint i;
+ guint j;
DEBUG ("Invalid jid: %s", jid);
/* Free the ressources previously allocated */
- for (i = 0; i < buddies->len; i++)
- tp_handle_unref (contact_repo, g_array_index (buddies, TpHandle,
- i));
+ for (j = 0; j < buddies->len; j++)
+ tp_handle_unref (contact_repo,
+ g_array_index (buddies, TpHandle, j));
if (buddies_properties != NULL)
{
@@ -2955,7 +2963,6 @@ add_activities_to_view_from_node (GabbleConnection *conn,
TpHandleRepoIface *contact_repo = tp_base_connection_get_handles (
(TpBaseConnection *) conn, TP_HANDLE_TYPE_CONTACT);
GHashTable *activities;
- LmMessageNode *activity_node;
GPtrArray *buddies_to_add;
struct buddies_to_add_t
{
@@ -2964,16 +2971,17 @@ add_activities_to_view_from_node (GabbleConnection *conn,
TpHandle room;
};
guint i;
+ NodeIter k;
activities = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL,
g_object_unref );
buddies_to_add = g_ptr_array_new ();
- for (activity_node = node->children; activity_node != NULL;
- activity_node = activity_node->next)
+ for (k = node_iter (node); k; k = node_iter_next (k))
{
const gchar *jid, *act_id;
+ LmMessageNode *activity_node = node_iter_data (k);
LmMessageNode *properties_node;
GHashTable *properties;
TpHandle handle;
@@ -3202,13 +3210,13 @@ remove_buddies_from_view_from_node (GabbleConnection *conn,
TpHandleSet *buddies;
TpHandleRepoIface *contact_repo = tp_base_connection_get_handles (
(TpBaseConnection *) conn, TP_HANDLE_TYPE_CONTACT);
- LmMessageNode *buddy;
+ NodeIter i;
buddies = tp_handle_set_new (contact_repo);
- for (buddy = node->children; buddy != NULL; buddy = buddy->next)
+ for (i = node_iter (node); i; i = node_iter_next (i))
{
-
+ LmMessageNode *buddy = node_iter_data (i);
const gchar *jid;
TpHandle handle;
@@ -3267,12 +3275,13 @@ remove_activities_from_view_from_node (GabbleConnection *conn,
TpHandleSet *rooms;
TpHandleRepoIface *room_repo = tp_base_connection_get_handles (
(TpBaseConnection *) conn, TP_HANDLE_TYPE_ROOM);
- LmMessageNode *activity;
+ NodeIter i;
rooms = tp_handle_set_new (room_repo);
- for (activity = node->children; activity != NULL; activity = activity->next)
+ for (i = node_iter (node); i; i = node_iter_next (i))
{
+ LmMessageNode *activity = node_iter_data (i);
const gchar *room;
TpHandle handle;
@@ -3417,7 +3426,7 @@ conn_olpc_msg_cb (LmMessageHandler *handler,
{
GabbleConnection *conn = GABBLE_CONNECTION (user_data);
const gchar *from;
- LmMessageNode *node;
+ NodeIter i;
from = lm_message_node_get_attribute (message->node, "from");
if (from == NULL)
@@ -3430,8 +3439,9 @@ conn_olpc_msg_cb (LmMessageHandler *handler,
tp_strdiff (from, conn->olpc_gadget_activity))
return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
- for (node = message->node->children; node != NULL; node = node->next)
+ for (i = node_iter (message->node); i; i = node_iter_next (i))
{
+ LmMessageNode *node = node_iter_data (i);
const gchar *ns;
ns = lm_message_node_get_attribute (node, "xmlns");
--
1.5.6.5
More information about the telepathy-commits
mailing list