Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/jabglue.c @ 993:0759f4c7da68
Add option 'disable_chatstates'
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Wed, 01 Nov 2006 21:36:50 +0100 |
parents | b37348c2aa79 |
children | d0d0cd9e39c4 |
comparison
equal
deleted
inserted
replaced
992:b37348c2aa79 | 993:0759f4c7da68 |
---|---|
459 y = xmlnode_insert_tag(x, "subject"); | 459 y = xmlnode_insert_tag(x, "subject"); |
460 xmlnode_insert_cdata(y, subject, (unsigned) -1); | 460 xmlnode_insert_cdata(y, subject, (unsigned) -1); |
461 } | 461 } |
462 | 462 |
463 #if defined JEP0022 || defined JEP0085 | 463 #if defined JEP0022 || defined JEP0085 |
464 // If typing notifications are disabled, we can skip all this stuff... | |
465 if (chatstates_disabled) | |
466 goto jb_send_msg_no_chatstates; | |
467 | |
464 rname = strchr(jid, JID_RESOURCE_SEPARATOR); | 468 rname = strchr(jid, JID_RESOURCE_SEPARATOR); |
465 barejid = jidtodisp(jid); | 469 barejid = jidtodisp(jid); |
466 sl_buddy = roster_find(barejid, jidsearch, ROSTER_TYPE_USER); | 470 sl_buddy = roster_find(barejid, jidsearch, ROSTER_TYPE_USER); |
467 g_free(barejid); | 471 g_free(barejid); |
468 | 472 |
521 } | 525 } |
522 } | 526 } |
523 } | 527 } |
524 #endif | 528 #endif |
525 | 529 |
530 jb_send_msg_no_chatstates: | |
526 xmlnode_put_attrib(x, "id", msgid); | 531 xmlnode_put_attrib(x, "id", msgid); |
527 | 532 |
528 jab_send(jc, x); | 533 jab_send(jc, x); |
529 xmlnode_free(x); | 534 xmlnode_free(x); |
530 | 535 |
666 if (!jid) return; | 671 if (!jid) return; |
667 | 672 |
668 #ifdef JEP0085 | 673 #ifdef JEP0085 |
669 jep85 = buddy_resource_jep85(buddy, NULL); | 674 jep85 = buddy_resource_jep85(buddy, NULL); |
670 if (jep85 && jep85->support == CHATSTATES_SUPPORT_OK) { | 675 if (jep85 && jep85->support == CHATSTATES_SUPPORT_OK) { |
671 // FIXME: compare w/ last state sent... | |
672 jb_send_jep85_chatstate(jid, chatstate); | 676 jb_send_jep85_chatstate(jid, chatstate); |
673 return; | 677 return; |
674 } | 678 } |
675 #endif | 679 #endif |
676 #ifdef JEP0022 | 680 #ifdef JEP0022 |
677 jep22 = buddy_resource_jep22(buddy, NULL); | 681 jep22 = buddy_resource_jep22(buddy, NULL); |
678 if (jep22 && jep22->support == CHATSTATES_SUPPORT_OK) { | 682 if (jep22 && jep22->support == CHATSTATES_SUPPORT_OK) { |
679 // FIXME: compare w/ last state sent... | |
680 jb_send_jep22_event(jid, chatstate); | 683 jb_send_jep22_event(jid, chatstate); |
681 } | 684 } |
682 #endif | 685 #endif |
683 } | 686 } |
684 #endif | 687 #endif |