--- a/jingle/jingle.c Fri Jun 25 22:29:51 2010 +0200
+++ b/jingle/jingle.c Thu Jul 01 21:43:01 2010 +0200
@@ -19,7 +19,7 @@
* USA
*/
-#include "config.h"
+#include <config.h>
#include <glib.h>
#include <loudmouth/loudmouth.h>
@@ -263,25 +263,25 @@
LmMessageNode* get_lm_from_jingle_struct(const JingleNode* elem)
{
- LmMessageNode* node = g_new(JingleNode, 1);
+ LmMessageNode* node = g_new(LmMessageNode, 1);
lm_message_node_set_value(node, "jingle");
- if (jingle_action_list[elem->action][0])
- lm_message_node_set_attribute(node, "action", jingle_action_list[elem->action]);
+ if (jingle_action_list[elem->action].name)
+ lm_message_node_set_attribute(node, "action", jingle_action_list[elem->action].name);
if (elem->initiator)
lm_message_node_set_attribute(node, "initiator", elem->initiator);
if (elem->responder)
lm_message_node_set_attribute(node, "responder",elem->responder);
if (elem->sid)
lm_message_node_set_attribute(node, "sid", elem->sid);
- g_slist_foreach(elem->content, addContenttoNode, node);
+ g_slist_foreach(elem->content, get_lm_from_content_struct, node);
return node;
}
void get_lm_from_content_struct(gpointer data, gpointer userdata)
{
- JingleContent* content = data;
- LmMessageNode* dad = userdata;
- LmMessageNode* node = lm_message_add_child(dad, "content", NULL), *node2= NULL;
+ JingleContent* content = (JingleContent*) data;
+ LmMessageNode* dad = (LmMessageNode*) userdata;
+ LmMessageNode* node = (LmMessageNode*) lm_message_node_add_child(dad, "content", NULL), *node2= NULL;
if (content->creator == JINGLE_CREATOR_INITIATOR)
lm_message_node_set_attribute(node, "creator", "initiator");
@@ -302,13 +302,5 @@
lm_message_node_set_attribute(node, "senders", "responder");
// Care of desc & app
+
}
-
-LmMessageNode* dup_lm_message_node(const LmMessageNode* src)
-{
- LmMessageNode* new = NULL;
- new = g_memdup(src);
- src->next = NULL;
- src->prev = NULL;
- return src;
-}
--- a/jingle/jingle.h Fri Jun 25 22:29:51 2010 +0200
+++ b/jingle/jingle.h Thu Jul 01 21:43:01 2010 +0200
@@ -94,12 +94,12 @@
/* each content element (must) contain one description
* child element that specifies a desired application.
* the content of this node is app specific. */
- gconstpointer *description;
+ LmMessageNode *description;
/* each content element (must) contain one transport
* child element that specifies a potential transport
* method */
- gconstpointer *transport;
+ LmMessageNode *transport;
} JingleContent;
@@ -116,7 +116,6 @@
void jingle_ack_iq(LmMessage *m);
JingleAction jingle_action_from_str(const gchar* string);
-LmMessageNode* get_lm_from_jingle_struct(const JingleNode* elem)
-void get_lm_from_content_struct(gpointer data, gpointer userdata)
-LmMessageNode* dup_lm_message_node(const LmMessageNode* src)
+LmMessageNode* get_lm_from_jingle_struct(const JingleNode* elem);
+void get_lm_from_content_struct(gpointer data, gpointer userdata);
#endif
--- a/jingle/register.h Fri Jun 25 22:29:51 2010 +0200
+++ b/jingle/register.h Thu Jul 01 21:43:01 2010 +0200
@@ -10,6 +10,7 @@
typedef gconstpointer (*JingleAppCheck) (JingleContent *cn, GError **err, gpointer *data);
typedef void (*JingleAppHandle) (JingleNode *jn, JingleContent *cn, gpointer *data);
+typedef LmMessageNode* (*JingleAppGetDescription) (JingleNode *jn, JingleContent *cn, gpointer *data);
typedef gconstpointer (*JingleTransportCheck) (JingleContent *cn, GError **err, gpointer *data);
typedef void (*JingleTransportHandle) (JingleNode *jn, JingleContent *cn, gpointer *data);
@@ -17,6 +18,8 @@
/* check if the description of a JingleContent is correct */
JingleAppCheck check;
+ JingleAppGetDescription desc;
+
/* */
JingleAppHandle handle;
--- a/jingle/sessions.c Fri Jun 25 22:29:51 2010 +0200
+++ b/jingle/sessions.c Thu Jul 01 21:43:01 2010 +0200
@@ -32,7 +32,8 @@
/**
* Create a new session and insert it in the linked list.
*/
-JingleSession *session_new(JingleNode *jn)
+JingleSession *session_new(JingleNode *jn, LmMessageNode* app,
+ LmMessageNode* trans)
{
JingleSession *js = g_new0(JingleSession, 1);
js->sid = g_strdup(jn->sid);
--- a/jingle/sessions.h Fri Jun 25 22:29:51 2010 +0200
+++ b/jingle/sessions.h Thu Jul 01 21:43:01 2010 +0200
@@ -17,8 +17,8 @@
JingleSession *session_new(JingleNode *jn,
- gconstpointer *app,
- gconstpointer *transport);
+ LmMessageNode *app,
+ LmMessageNode *transport);
JingleSession *session_find();
void session_delete(JingleSession *sess);
void session_remove(JingleSession *sess);