Changeset c058ff9 for protocols/jabber


Ignore:
Timestamp:
2007-12-09T23:19:35Z (16 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
3f2bc2d
Parents:
de03374
Message:

Added /invite support for Jabber chatrooms (and fixed the argument order
to chat_invite).

Location:
protocols/jabber
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/conference.c

    rde03374 rc058ff9  
    174174       
    175175        return 1;
     176}
     177
     178void jabber_chat_invite( struct groupchat *c, char *who, char *message )
     179{
     180        struct xt_node *node;
     181        struct im_connection *ic = c->ic;
     182        struct jabber_chat *jc = c->data;
     183
     184        node = xt_new_node( "reason", message, NULL );
     185
     186        node = xt_new_node( "invite", NULL, node );
     187        xt_add_attr( node, "to", who );
     188
     189        node = xt_new_node( "x", NULL, node );
     190        xt_add_attr( node, "xmlns", XMLNS_MUC_USER );
     191       
     192        node = jabber_make_packet( "message", NULL, jc->name, node );
     193
     194        jabber_write_packet( ic, node );
     195
     196        xt_free_node( node );
    176197}
    177198
  • protocols/jabber/jabber.c

    rde03374 rc058ff9  
    427427}
    428428
     429static void jabber_chat_invite_( struct groupchat *c, char *who, char *msg )
     430{
     431        struct jabber_chat *jc = c->data;
     432        gchar *msg_alt = NULL;
     433
     434        if( msg == NULL )
     435                msg_alt = g_strdup_printf( "%s invited you to %s", c->ic->acc->user, jc->name );
     436       
     437        if( c && who )
     438                jabber_chat_invite( c, who, msg ? msg : msg_alt );
     439       
     440        g_free( msg_alt );
     441}
     442
    429443static void jabber_keepalive( struct im_connection *ic )
    430444{
     
    498512        ret->chat_msg = jabber_chat_msg_;
    499513        ret->chat_topic = jabber_chat_topic_;
    500 //      ret->chat_invite = jabber_chat_invite;
     514        ret->chat_invite = jabber_chat_invite_;
    501515        ret->chat_leave = jabber_chat_leave_;
    502516        ret->chat_join = jabber_chat_join_;
  • protocols/jabber/jabber.h

    rde03374 rc058ff9  
    237237void jabber_chat_pkt_presence( struct im_connection *ic, struct jabber_buddy *bud, struct xt_node *node );
    238238void jabber_chat_pkt_message( struct im_connection *ic, struct jabber_buddy *bud, struct xt_node *node );
     239void jabber_chat_invite( struct groupchat *c, char *who, char *message );
    239240
    240241#endif
Note: See TracChangeset for help on using the changeset viewer.