send session-accept
authorNicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Tue, 10 Aug 2010 22:14:17 +0200
changeset 95 cac87df18e6d
parent 94 a49f78cada29
child 96 3922f5c96973
send session-accept
jingle/sessions.c
--- a/jingle/sessions.c	Tue Aug 10 21:35:43 2010 +0200
+++ b/jingle/sessions.c	Tue Aug 10 22:14:17 2010 +0200
@@ -43,7 +43,8 @@
   js->sid  = g_strdup(sid);
   js->from = g_strdup(from);
   js->to   = g_strdup(to);
-  
+  js->origin = origin;
+
   sessions = g_slist_append(sessions, js);
   return js;
 }
@@ -115,14 +116,18 @@
 void session_add_content_from_jinglecontent(JingleSession *sess, JingleContent *cn,
                          SessionState state)
 {
-  SessionContent *sc = g_new0(SessionContent, 1);
+  const gchar *xmlns;
+  JingleAppFuncs *app_funcs;
+  JingleTransportFuncs *trans_funcs;
   session_add_content(sess, cn->name, state);
-  session_add_app(sess, cn->name,
-                  lm_message_node_get_attribute(cn->description, "xmlns"),
-                  sc->appfuncs->check(cn, NULL));
-  session_add_trans(sess, cn->name,
-                  lm_message_node_get_attribute(cn->transport, "xmlns"),
-                  sc->transfuncs->check(cn, NULL));
+  
+  xmlns = lm_message_node_get_attribute(cn->description, "xmlns");
+  app_funcs = jingle_get_appfuncs(xmlns);
+  session_add_app(sess, cn->name, xmlns, app_funcs->check(cn, NULL));
+  
+  xmlns = lm_message_node_get_attribute(cn->transport, "xmlns");
+  trans_funcs = jingle_get_transportfuncs(xmlns);
+  session_add_trans(sess, cn->name, xmlns, trans_funcs->check(cn, NULL));
 }
 
 SessionContent *session_find_sessioncontent(JingleSession *sess,