jingle/jingle.c
changeset 119 0b9a7b505079
parent 111 76ce876f7935
child 121 3a3c0e16ea00
equal deleted inserted replaced
118:f3408f4fe61a 119:0b9a7b505079
   171  * mcabber /event callback.
   171  * mcabber /event callback.
   172  */
   172  */
   173 gboolean evscallback_jingle(guint evcontext, const gchar *arg,
   173 gboolean evscallback_jingle(guint evcontext, const gchar *arg,
   174                             gpointer userdata)
   174                             gpointer userdata)
   175 {
   175 {
   176   JingleNode *jn = userdata;
   176   JingleSession *js = (JingleSession*)userdata;
   177 
   177 
   178   /*
   178   /*
   179   if (G_UNLIKELY(!jn)) {
   179   if (G_UNLIKELY(!jn)) {
   180     scr_LogPrint(LPRINT_LOGNORM, "Error in evs callback.");
   180     scr_LogPrint(LPRINT_LOGNORM, "Error in evs callback.");
   181     return FALSE;
   181     return FALSE;
   182   }
   182   }
   183   */
   183   */
   184 
   184 
   185   if (evcontext == EVS_CONTEXT_TIMEOUT) {
   185   if (evcontext == EVS_CONTEXT_TIMEOUT) {
   186     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s timed out, cancelled.",
   186     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s timed out, cancelled.",
   187                  jn->initiator);
   187                  js->from);
   188     jingle_free_jinglenode(jn);
       
   189     return FALSE;
   188     return FALSE;
   190   }
   189   }
   191   if (evcontext == EVS_CONTEXT_CANCEL) {
   190   if (evcontext == EVS_CONTEXT_CANCEL) {
   192     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
   191     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
   193                  jn->initiator);
   192                  js->from);
   194     jingle_free_jinglenode(jn);
       
   195     return FALSE;
   193     return FALSE;
   196   }
   194   }
   197   if (!(evcontext == EVS_CONTEXT_ACCEPT || evcontext == EVS_CONTEXT_REJECT)) {
   195   if (!(evcontext == EVS_CONTEXT_ACCEPT || evcontext == EVS_CONTEXT_REJECT)) {
   198     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
   196     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
   199                  jn->initiator);
   197                  js->from);
   200     jingle_free_jinglenode(jn);
       
   201     return FALSE;
   198     return FALSE;
   202   }
   199   }
   203   
   200   
   204   if (evcontext == EVS_CONTEXT_ACCEPT) {
   201   if (evcontext == EVS_CONTEXT_ACCEPT) {
   205     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s accepted.",
   202     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s accepted.",
   206                  jn->initiator);
   203                  js->from);
   207     jingle_send_session_accept(jn);
   204     jingle_send_session_accept(js);
   208 
       
   209   } else {
   205   } else {
   210     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
   206     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
   211                  jn->initiator);
   207                  js->from);
   212     // TODO: jingle_send_session_terminate(jn, "decline");
   208     jingle_send_session_terminate(js, "decline");
   213     jingle_free_jinglenode(jn);
       
   214   }
   209   }
   215 
   210 
   216   return FALSE;
   211   return FALSE;
   217 }
   212 }
   218 
   213