jingle-ibb/ibb.c
changeset 61 c7879aae9e1d
parent 60 05184a1846d1
child 63 b56853071a09
--- a/jingle-ibb/ibb.c	Tue Jul 20 19:16:58 2010 +0200
+++ b/jingle-ibb/ibb.c	Tue Jul 20 22:06:24 2010 +0200
@@ -37,7 +37,7 @@
 
 gconstpointer jingle_ibb_check(JingleContent *cn, GError **err);
 gboolean jingle_ibb_cmp(gconstpointer data1, gconstpointer data2);
-void jingle_ibb_handle(gconstpointer data, JingleContent *jc);
+void jingle_ibb_handle(gconstpointer data, LmMessageNode *node);
 
 static void jingle_ibb_init(void);
 static void jingle_ibb_uninit(void);
@@ -145,13 +145,15 @@
   return 1;
 }
 
-void jingle_ibb_handle(gconstpointer data, JingleContent *jc)
+void jingle_ibb_handle(gconstpointer data, LmMessageNode *node)
 {
   JingleIBB *jibb = (JingleIBB*) data;
-  gchar *bsize;
-  bsize = g_strdup_printf("%i", jibb->blocksize); 
-  LmMessageNode *node = lm_message_node_add_child(jc->node, "transport", NULL);
-  lm_message_node_set_attributes(node, "xmlns", NS_JINGLE_TRANSPORT_IBB,
+  gchar *bsize = g_strdup_printf("%i", jibb->blocksize);
+  if (lm_message_node_get_child(node, "transport") != NULL)
+    return;
+  
+  LmMessageNode *node2 = lm_message_node_add_child(node, "transport", NULL);
+  lm_message_node_set_attributes(node2, "xmlns", NS_JINGLE_TRANSPORT_IBB,
                                  "sid", jibb->sid,
                                  "block-size", bsize);
   g_free(bsize);