jingle/sessions.c
changeset 80 1c2ef2c5debe
parent 75 bd48c89b0a3d
child 81 8b6320ad470b
equal deleted inserted replaced
79:a654afc4a74a 80:1c2ef2c5debe
    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;