32 |
32 |
33 |
33 |
34 /** |
34 /** |
35 * Create a new session and insert it in the linked list. |
35 * Create a new session and insert it in the linked list. |
36 */ |
36 */ |
37 JingleSession *session_new(const gchar *sid, const gchar *initiator, |
37 JingleSession *session_new(const gchar *sid, const gchar *from, |
38 const gchar *from) |
38 const gchar *to, SessionOrigin origin) |
39 { |
39 { |
40 JingleSession *js = g_new0(JingleSession, 1); |
40 JingleSession *js = g_new0(JingleSession, 1); |
41 |
41 |
42 js->sid = g_strdup(sid); |
42 js->sid = g_strdup(sid); |
43 js->initiator = g_strdup(initiator); |
|
44 js->from = g_strdup(from); |
43 js->from = g_strdup(from); |
|
44 js->to = g_strdup(to); |
45 |
45 |
46 sessions = g_slist_append(sessions, js); |
46 sessions = g_slist_append(sessions, js); |
47 return js; |
47 return js; |
48 } |
48 } |
49 |
49 |
50 JingleSession *session_new_from_jinglenode(JingleNode *jn) |
50 JingleSession *session_new_from_jinglenode(JingleNode *jn) |
51 { |
51 { |
52 const gchar *from; |
52 const gchar *from, *to; |
53 |
53 |
54 from = lm_message_get_from(jn->message); |
54 from = lm_message_node_get_attribute(jn->message->node, "from"); |
55 if (!from) { |
55 to = lm_message_node_get_attribute(jn->message->node, "to"); |
|
56 if (!from || !to) { |
56 return NULL; |
57 return NULL; |
57 } |
58 } |
58 |
59 |
59 return session_new(jn->sid, jn->initiator, from); |
60 return session_new(jn->sid, from, to, JINGLE_SESSION_INCOMING); |
60 } |
61 } |
61 |
62 |
62 JingleSession *session_find_by_sid(const gchar *sid, const gchar *from) |
63 JingleSession *session_find_by_sid(const gchar *sid, const gchar *from) |
63 { |
64 { |
64 GSList *el; |
65 GSList *el; |