void jingle_session_accept_content(JingleSession *session, const gchar *name, const gchar *creator) { JingleContent *content = jingle_session_find_pending_content(session, name, creator); if (content) { g_object_ref(content); jingle_session_remove_pending_content(session, name, creator); jingle_session_add_content(session, content); } }
static void jingle_handle_session_initiate(JingleSession *session, xmlnode *jingle) { xmlnode *content = xmlnode_get_child(jingle, "content"); for (; content; content = xmlnode_get_next_twin(content)) { JingleContent *parsed_content = jingle_content_parse(content); if (parsed_content == NULL) { purple_debug_error("jingle", "Error parsing content\n"); /* XXX: send error */ } else { jingle_session_add_content(session, parsed_content); jingle_content_handle_action(parsed_content, content, JINGLE_SESSION_INITIATE); } } jabber_iq_send(jingle_session_create_ack(session, jingle)); }