diff -r f33c814d5b3a -r 964b3ebeba8d jingle/jingle.c --- a/jingle/jingle.c Sat Jul 10 00:51:45 2010 +0200 +++ b/jingle/jingle.c Sun Jul 11 18:23:28 2010 +0200 @@ -29,14 +29,13 @@ #include #include #include -#include -#include #include #include #include #include #include +#include static void jingle_register_lm_handlers(void); static void jingle_unregister_lm_handlers(void); @@ -50,6 +49,7 @@ static LmMessageHandler* jingle_iq_handler = NULL; +LmMessageHandler* jingle_ack_iq_handler = NULL; static guint connect_hid = 0; static guint disconn_hid = 0; @@ -246,6 +246,8 @@ static void jingle_init(void) { jingle_iq_handler = lm_message_handler_new(jingle_handle_iq, NULL, NULL); + jingle_ack_iq_handler = lm_message_handler_new(jingle_handle_ack_iq, NULL, + NULL); xmpp_add_feature(NS_JINGLE); connect_hid = hk_add_handler(jingle_connect_hh, HOOK_POST_CONNECT, @@ -265,6 +267,8 @@ lm_message_handler_invalidate(jingle_iq_handler); lm_message_handler_unref(jingle_iq_handler); + lm_message_handler_invalidate(jingle_ack_iq_handler); + lm_message_handler_unref(jingle_ack_iq_handler); } LmMessage *lm_message_from_jinglenode(const JingleNode *jn, const gchar *to) @@ -323,42 +327,3 @@ lm_message_node_set_attribute(node, "senders", "responder"); } -gboolean evscallback_jingle(guint evcontext, const gchar *arg, - gpointer userdata) -{ - JingleNode *jn = userdata; - - // Demande à mcKael l'utilité de ce truc - /* - if (G_UNLIKELY(!jn)) { - scr_LogPrint(LPRINT_LOGNORM, "Error in evs callback."); - return FALSE; - } - */ - - if (evcontext == EVS_CONTEXT_TIMEOUT) { - scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s timed out, cancelled.", - jn->initiator); - jingle_free_jinglenode(jn); - return FALSE; - } - if (evcontext = EVS_CONTEXT_CANCEL) { - scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.", - jn->initiator); - jingle_free_jinglenode(jn); - return FALSE; - } - if (!(evcontext == EVS_CONTEXT_ACCEPT || evcontext == EVS_CONTEXT_REJECT)) { - jingle_free_jinglenode(jn); - return FALSE; - } - - if (evcontext == EVS_CONTEXT_ACCEPT) { - jingle_send_session_accept(jn); - } else { - jingle_send_session_terminate(jn, "decline"); - jingle_free_jinglenode(jn); - } - - return FALSE; -}