Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/ibb.c @ 26547:ae41d8e827e3
Convert all the XMPP IQ callbacks to a typedef similar to the IQ Handlers.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Fri, 13 Mar 2009 02:26:45 +0000 |
parents | 5f9a24d1c25e |
children | 50ff0162fe26 |
comparison
equal
deleted
inserted
replaced
26546:a4a5825fb1bb | 26547:ae41d8e827e3 |
---|---|
196 { | 196 { |
197 sess->error_cb = cb; | 197 sess->error_cb = cb; |
198 } | 198 } |
199 | 199 |
200 static void | 200 static void |
201 jabber_ibb_session_opened_cb(JabberStream *js, xmlnode *packet, gpointer data) | 201 jabber_ibb_session_opened_cb(JabberStream *js, const char *from, |
202 JabberIqType type, const char *id, | |
203 xmlnode *packet, gpointer data) | |
202 { | 204 { |
203 JabberIBBSession *sess = (JabberIBBSession *) data; | 205 JabberIBBSession *sess = (JabberIBBSession *) data; |
204 | 206 |
205 if (strcmp(xmlnode_get_attrib(packet, "type"), "error") == 0) { | 207 if (type == JABBER_IQ_ERROR) { |
206 sess->state = JABBER_IBB_SESSION_ERROR; | 208 sess->state = JABBER_IBB_SESSION_ERROR; |
207 } else { | 209 } else { |
208 sess->state = JABBER_IBB_SESSION_OPENED; | 210 sess->state = JABBER_IBB_SESSION_OPENED; |
209 } | 211 } |
210 | 212 |
272 jabber_iq_send(result); | 274 jabber_iq_send(result); |
273 sess->state = JABBER_IBB_SESSION_OPENED; | 275 sess->state = JABBER_IBB_SESSION_OPENED; |
274 } | 276 } |
275 | 277 |
276 static void | 278 static void |
277 jabber_ibb_session_send_acknowledge_cb(JabberStream *js, xmlnode *packet, gpointer data) | 279 jabber_ibb_session_send_acknowledge_cb(JabberStream *js, const char *from, |
280 JabberIqType type, const char *id, | |
281 xmlnode *packet, gpointer data) | |
278 { | 282 { |
279 JabberIBBSession *sess = (JabberIBBSession *) data; | 283 JabberIBBSession *sess = (JabberIBBSession *) data; |
280 xmlnode *error = xmlnode_get_child(packet, "error"); | |
281 | 284 |
282 if (sess) { | 285 if (sess) { |
283 /* reset callback */ | 286 /* reset callback */ |
284 if (sess->last_iq_id) { | 287 if (sess->last_iq_id) { |
285 g_free(sess->last_iq_id); | 288 g_free(sess->last_iq_id); |
286 sess->last_iq_id = NULL; | 289 sess->last_iq_id = NULL; |
287 } | 290 } |
288 | 291 |
289 if (error) { | 292 if (type == JABBER_IQ_ERROR) { |
290 jabber_ibb_session_close(sess); | 293 jabber_ibb_session_close(sess); |
291 sess->state = JABBER_IBB_SESSION_ERROR; | 294 sess->state = JABBER_IBB_SESSION_ERROR; |
292 | 295 |
293 if (sess->error_cb) { | 296 if (sess->error_cb) { |
294 sess->error_cb(sess); | 297 sess->error_cb(sess); |