equal
deleted
inserted
replaced
213 { |
213 { |
214 JingleSession *sess; |
214 JingleSession *sess; |
215 JingleContent *jc; |
215 JingleContent *jc; |
216 SessionContent *sc; |
216 SessionContent *sc; |
217 session_content *sc2 = g_new0(session_content, 1); |
217 session_content *sc2 = g_new0(session_content, 1); |
218 GError *err; |
218 GError *err = NULL; |
219 GSList *el; |
219 GSList *el; |
220 const gchar *from = lm_message_get_from(jn->message); |
220 const gchar *from = lm_message_get_from(jn->message); |
221 |
221 |
222 // We're looking if the session exist |
222 // We're looking if the session exist |
223 sess = session_find_by_sid(jn->sid, from); |
223 sess = session_find_by_sid(jn->sid, from); |
285 session_remove_sessioncontent(sess, sc->name); |
285 session_remove_sessioncontent(sess, sc->name); |
286 } |
286 } |
287 session_delete(sess); |
287 session_delete(sess); |
288 jingle_ack_iq(jn->message); |
288 jingle_ack_iq(jn->message); |
289 } |
289 } |
|
290 |
|
291 void handle_transport_info(JingleNode *jn) |
|
292 { |
|
293 JingleSession *sess; |
|
294 SessionContent *sc; |
|
295 JingleContent *jc; |
|
296 |
|
297 if ((sess = session_find(jn)) == NULL) { |
|
298 jingle_send_iq_error(jn->message, "cancel", "item-not-found", "unknown-session"); |
|
299 return; |
|
300 } |
|
301 |
|
302 if (jn->content == NULL) { |
|
303 jingle_send_iq_error(jn->message, "modify", "bad-request", NULL); |
|
304 return; |
|
305 } |
|
306 jc = (JingleContent*) jn->content->data; |
|
307 |
|
308 sc = session_find_sessioncontent(sess, jc->name); |
|
309 if (sc == NULL) { |
|
310 jingle_send_iq_error(jn->message, "modify", "bad-request", NULL); |
|
311 return; |
|
312 } |
|
313 |
|
314 sc->appfuncs->handle(JINGLE_TRANSPORT_INFO, sc->transport, jc->transport, NULL); |
|
315 } |