35 |
35 |
36 static LmMessageHandler* jingle_ibb_handler = NULL; |
36 static LmMessageHandler* jingle_ibb_handler = NULL; |
37 |
37 |
38 gconstpointer jingle_ibb_check(JingleContent *cn, GError **err); |
38 gconstpointer jingle_ibb_check(JingleContent *cn, GError **err); |
39 gboolean jingle_ibb_cmp(gconstpointer data1, gconstpointer data2); |
39 gboolean jingle_ibb_cmp(gconstpointer data1, gconstpointer data2); |
40 void jingle_ibb_handle(gconstpointer data, LmMessageNode *node); |
40 void jingle_ibb_handle(JingleAction act, gconstpointer data, LmMessageNode *node); |
41 |
41 |
42 static void jingle_ibb_init(void); |
42 static void jingle_ibb_init(void); |
43 static void jingle_ibb_uninit(void); |
43 static void jingle_ibb_uninit(void); |
44 |
44 |
45 |
45 |
143 return 0; |
143 return 0; |
144 } |
144 } |
145 return 1; |
145 return 1; |
146 } |
146 } |
147 |
147 |
148 void jingle_ibb_handle(gconstpointer data, LmMessageNode *node) |
148 void jingle_ibb_handle(JingleAction act, gconstpointer data, LmMessageNode *node) |
149 { |
149 { |
150 JingleIBB *jibb = (JingleIBB*) data; |
150 if (act == JINGLE_SESSION_INITIATE) { |
151 gchar *bsize = g_strdup_printf("%i", jibb->blocksize); |
151 JingleIBB *jibb = (JingleIBB*) data; |
152 if (lm_message_node_get_child(node, "transport") != NULL) |
152 gchar *bsize = g_strdup_printf("%i", jibb->blocksize); |
153 return; |
153 if (lm_message_node_get_child(node, "transport") != NULL) |
|
154 return; |
154 |
155 |
155 LmMessageNode *node2 = lm_message_node_add_child(node, "transport", NULL); |
156 LmMessageNode *node2 = lm_message_node_add_child(node, "transport", NULL); |
156 lm_message_node_set_attributes(node2, "xmlns", NS_JINGLE_TRANSPORT_IBB, |
157 lm_message_node_set_attributes(node2, "xmlns", NS_JINGLE_TRANSPORT_IBB, |
157 "sid", jibb->sid, |
158 "sid", jibb->sid, |
158 "block-size", bsize); |
159 "block-size", bsize); |
159 g_free(bsize); |
160 g_free(bsize); |
|
161 } |
160 } |
162 } |
161 |
163 |
162 static void jingle_ibb_init(void) |
164 static void jingle_ibb_init(void) |
163 { |
165 { |
164 jingle_ibb_handler = lm_message_handler_new(jingle_ibb_handle_iq, NULL, NULL); |
166 jingle_ibb_handler = lm_message_handler_new(jingle_ibb_handle_iq, NULL, NULL); |