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);