Ignore:
Timestamp:
2010-12-06T00:03:49Z (13 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
d76e12f
Parents:
a429907
Message:

First bits of CTCP support to contacts. (Try /CTCP VERSION on a Jabber
contact.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/jabber.c

    ra429907 rd88c92a  
    564564}
    565565
     566GList *jabber_buddy_action_list( bee_user_t *bu )
     567{
     568        static GList *ret = NULL;
     569       
     570        if( ret == NULL )
     571        {
     572                struct buddy_action ba[2] = {
     573                        { "VERSION", "Get client (version) information" },
     574                };
     575               
     576                ret = g_list_prepend( ret, ba + 0 );
     577        }
     578       
     579        return ret;
     580}
     581
     582void *jabber_buddy_action( struct bee_user *bu, const char *action, char * const args[], void *data )
     583{
     584        if( g_strcasecmp( action, "VERSION" ) == 0 )
     585        {
     586                struct jabber_buddy *bud;
     587               
     588                if( ( bud = jabber_buddy_by_ext_jid( bu->ic, bu->handle, 0 ) ) == NULL )
     589                        bud = jabber_buddy_by_jid( bu->ic, bu->handle, GET_BUDDY_FIRST );
     590                for( ; bud; bud = bud->next )
     591                        jabber_iq_version_send( bu->ic, bud, data );
     592        }
     593       
     594        return NULL;
     595}
     596
    566597void jabber_initmodule()
    567598{
     
    591622        ret->handle_cmp = g_strcasecmp;
    592623        ret->transfer_request = jabber_si_transfer_request;
     624        ret->buddy_action_list = jabber_buddy_action_list;
     625        ret->buddy_action = jabber_buddy_action;
    593626
    594627        register_protocol( ret );
Note: See TracChangeset for help on using the changeset viewer.