jingle/action-handlers.c
changeset 165 763c26abd99d
parent 161 fa1d993d05b6
child 166 c42c167a2a5c
equal deleted inserted replaced
164:6866328b34bd 165:763c26abd99d
   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 }