--- 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);