Mercurial > pidgin
comparison libpurple/protocols/jabber/iq.c @ 23847:4e3cc48cdace
Further decouple Jingle from iq.c
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Thu, 10 Jul 2008 22:49:52 +0000 |
parents | 42e17cc5b6d2 |
children | 517062503b48 |
comparison
equal
deleted
inserted
replaced
23846:86f05fa8a90a | 23847:4e3cc48cdace |
---|---|
358 jabber_ping_parse(js, packet); | 358 jabber_ping_parse(js, packet); |
359 return; | 359 return; |
360 } | 360 } |
361 | 361 |
362 #ifdef USE_VV | 362 #ifdef USE_VV |
363 /* handle session initiate XEP 0167 */ | 363 if (xmlnode_get_child_with_namespace(packet, "jingle", "urn:xmpp:tmp:jingle")) { |
364 if (type && !strcmp(type, "set")) { | 364 jabber_jingle_session_parse(js, packet); |
365 /* is this a Jingle package? */ | 365 return; |
366 xmlnode *jingle = xmlnode_get_child(packet, "jingle"); | |
367 if (jingle) { | |
368 const char *action = xmlnode_get_attrib(jingle, "action"); | |
369 purple_debug_info("jabber", "got Jingle package action = %s\n", | |
370 action); | |
371 if (!strcmp(action, "session-initiate")) { | |
372 jabber_jingle_session_handle_session_initiate(js, packet); | |
373 } else if (!strcmp(action, "session-accept") | |
374 || !strcmp(action, "content-accept")) { | |
375 jabber_jingle_session_handle_session_accept(js, packet); | |
376 } else if (!strcmp(action, "session-info")) { | |
377 jabber_jingle_session_handle_session_info(js, packet); | |
378 } else if (!strcmp(action, "session-terminate")) { | |
379 jabber_jingle_session_handle_session_terminate(js, packet); | |
380 } else if (!strcmp(action, "transport-info")) { | |
381 jabber_jingle_session_handle_transport_info(js, packet); | |
382 } else if (!strcmp(action, "content-replace")) { | |
383 jabber_jingle_session_handle_content_replace(js, packet); | |
384 } | |
385 | |
386 return; | |
387 } | |
388 } | 366 } |
389 #endif | 367 #endif |
390 | 368 |
391 /* If we get here, send the default error reply mandated by XMPP-CORE */ | 369 /* If we get here, send the default error reply mandated by XMPP-CORE */ |
392 if(type && (!strcmp(type, "set") || !strcmp(type, "get"))) { | 370 if(type && (!strcmp(type, "set") || !strcmp(type, "get"))) { |
425 jabber_iq_register_handler("jabber:iq:version", jabber_iq_version_parse); | 403 jabber_iq_register_handler("jabber:iq:version", jabber_iq_version_parse); |
426 jabber_iq_register_handler("http://jabber.org/protocol/disco#info", jabber_disco_info_parse); | 404 jabber_iq_register_handler("http://jabber.org/protocol/disco#info", jabber_disco_info_parse); |
427 jabber_iq_register_handler("http://jabber.org/protocol/disco#items", jabber_disco_items_parse); | 405 jabber_iq_register_handler("http://jabber.org/protocol/disco#items", jabber_disco_items_parse); |
428 jabber_iq_register_handler("jabber:iq:register", jabber_register_parse); | 406 jabber_iq_register_handler("jabber:iq:register", jabber_register_parse); |
429 jabber_iq_register_handler("urn:xmpp:ping", urn_xmpp_ping_parse); | 407 jabber_iq_register_handler("urn:xmpp:ping", urn_xmpp_ping_parse); |
408 jabber_iq_register_handler("urn:xmpp:tmp:jingle", jabber_jingle_session_parse); | |
430 } | 409 } |
431 | 410 |
432 void jabber_iq_uninit(void) | 411 void jabber_iq_uninit(void) |
433 { | 412 { |
434 g_hash_table_destroy(iq_handlers); | 413 g_hash_table_destroy(iq_handlers); |