--- a/jingle/send.c Sat Aug 14 12:00:59 2010 +0200
+++ b/jingle/send.c Sat Aug 14 19:06:27 2010 +0200
@@ -84,54 +84,19 @@
session_delete(sess);
}
-void jingle_send_session_accept(JingleNode *jn)
+void jingle_send_session_accept(JingleSession *js)
{
- JingleSession *sess;
- JingleContent *cn;
LmMessage *mess;
- GSList *child = NULL;
- JingleAppFuncs *appfuncs;
- JingleTransportFuncs *transfuncs;
- gconstpointer description, transport;
- const gchar *xmlns;
- GError *err = NULL;
JingleAckHandle *ackhandle;
-
- sess = session_new_from_jinglenode(jn);
-
- for (child = jn->content; child; child = child->next) {
- cn = (JingleContent *)(child->data);
-
- xmlns = lm_message_node_get_attribute(cn->description, "xmlns");
- appfuncs = jingle_get_appfuncs(xmlns);
- if (appfuncs == NULL) continue;
- xmlns = lm_message_node_get_attribute(cn->transport, "xmlns");
- transfuncs = jingle_get_transportfuncs(xmlns);
- if (transfuncs == NULL) continue;
- description = appfuncs->check(cn, &err);
- if (description == NULL || err != NULL) continue;
- transport = transfuncs->check(cn, &err);
- if (transport == NULL || err != NULL) continue;
-
- scr_log_print(LPRINT_DEBUG, "jingle: New content accepted: %s", cn->name);
- session_add_content_from_jinglecontent(sess, cn, JINGLE_SESSION_STATE_ACTIVE);
- }
-
- if(g_slist_length(sess->content) == 0) {
- jingle_send_session_terminate(sess, "unsupported-applications");
- session_delete(sess);
- return;
- }
-
- mess = lm_message_from_jinglesession(sess, JINGLE_SESSION_ACCEPT);
+ mess = lm_message_from_jinglesession(js, JINGLE_SESSION_ACCEPT);
if (mess) {
ackhandle = g_new0(JingleAckHandle, 1);
ackhandle->callback = jingle_handle_ack_iq_sa;
- ackhandle->user_data = (gpointer)sess;
+ ackhandle->user_data = (gpointer)js;
lm_connection_send_with_reply(lconnection, mess,
jingle_new_ack_handler(ackhandle), NULL);
lm_message_unref(mess);