Fix the send_session_terminate function.
authorNicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Thu, 08 Jul 2010 00:08:34 +0200
changeset 36 c300f2af08d0
parent 35 a0fd92a93af7
child 37 fce6bdc1ff46
Fix the send_session_terminate function.
jingle/send.c
jingle/send.h
--- a/jingle/send.c	Wed Jul 07 23:02:01 2010 +0200
+++ b/jingle/send.c	Thu Jul 08 00:08:34 2010 +0200
@@ -29,22 +29,24 @@
 #include <jingle/send.h>
 
 
-void jingle_send_session_terminate(LmMessage *m, const gchar *reason)
+void jingle_send_session_terminate(JingleNode *jn, const gchar *reason)
 {
   LmMessage *r;
-  LmMessageNode *err;
+  JingleNode *reply = g_new0(JingleNode, 1);
+
+  reply->action = JINGLE_SESSION_TERMINATE;
+  reply->sid = jn->sid;
 
-  r = lm_message_new_iq_from_query(m, LM_MESSAGE_SUB_TYPE_SET);
+  r = lm_message_from_jinglenode(reply, lm_message_get_from(jn->message));
 
-  if (reason != NULL) {  
+  if (reason != NULL) { 
+    // TODO check reason 
     err = lm_message_node_add_child(r->node, "reason", NULL);
     lm_message_node_add_child(err, reason, NULL);
   }
 
-  // TODO vérifier que reason est connu
-
   if (r) {
-	  lm_connection_send(lconnection, r, NULL);
-	  lm_message_unref(r);
+    lm_connection_send(lconnection, r, NULL);
+    lm_message_unref(r);
   }
 }
--- a/jingle/send.h	Wed Jul 07 23:02:01 2010 +0200
+++ b/jingle/send.h	Thu Jul 08 00:08:34 2010 +0200
@@ -1,6 +1,10 @@
 #ifndef __SEND_H__
 #define __SEND_H__ 1
 
-void jingle_send_session_terminate(LmMessage *m, const gchar *reason);
+#include <glib.h>
+#include <loudmouth/loudmouth.h>
+
+
+void jingle_send_session_terminate(JingleNode *jn, const gchar *reason);
 
 #endif