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