Ignore:
Timestamp:
2007-11-19T23:14:39Z (15 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
256899f
Parents:
50e1776
Message:

Added Jabber groupchat topic support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/conference.c

    r50e1776 ref5c185  
    8585       
    8686        node = xt_new_node( "body", message, NULL );
     87        node = jabber_make_packet( "message", "groupchat", jc->name, node );
     88       
     89        if( !jabber_write_packet( ic, node ) )
     90        {
     91                xt_free_node( node );
     92                return 0;
     93        }
     94        xt_free_node( node );
     95       
     96        return 1;
     97}
     98
     99int jabber_chat_topic( struct groupchat *c, char *topic )
     100{
     101        struct im_connection *ic = c->ic;
     102        struct jabber_chat *jc = c->data;
     103        struct xt_node *node;
     104       
     105        node = xt_new_node( "subject", topic, NULL );
    87106        node = jabber_make_packet( "message", "groupchat", jc->name, node );
    88107       
     
    214233void jabber_chat_pkt_message( struct im_connection *ic, struct jabber_buddy *bud, struct xt_node *node )
    215234{
     235        struct xt_node *subject = xt_find_node( node->children, "subject" );
    216236        struct xt_node *body = xt_find_node( node->children, "body" );
    217237        struct groupchat *chat;
     
    237257        }
    238258       
     259        if( subject )
     260        {
     261                s = strchr( bud->ext_jid, '/' );
     262                if( s ) *s = 0;
     263                imcb_chat_topic( chat, bud->ext_jid, subject->text_len > 0 ?
     264                                 subject->text : NULL, jabber_get_timestamp( node ) );
     265                if( s ) *s = '/';
     266        }
    239267        if( body && body->text_len > 0 )
    240268        {
Note: See TracChangeset for help on using the changeset viewer.