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 |