diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-09-24 20:08:07 +0200 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-09-24 20:08:07 +0200 |
commit | cfbb3a6e5e11a8d2d162d80958d6ce997104e9d3 (patch) | |
tree | 2f6d7e89fa70833e64575fe809e998c0c0e7a7f2 /protocols/jabber/jabber.c | |
parent | e101506a3e660d3165a89aab0898293b367e2b5b (diff) |
Added add_buddy/remove_buddy functions. Removing a contact doesn't seem
to work perfectly though.
Diffstat (limited to 'protocols/jabber/jabber.c')
-rw-r--r-- | protocols/jabber/jabber.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c index a337dd68..21633973 100644 --- a/protocols/jabber/jabber.c +++ b/protocols/jabber/jabber.c @@ -154,6 +154,18 @@ static void jabber_set_away( struct gaim_connection *gc, char *state_txt, char * presence_send_update( gc ); } +static void jabber_add_buddy( struct gaim_connection *gc, char *who ) +{ + if( jabber_add_to_roster( gc, who, NULL ) ) + presence_send_request( gc, who, "subscribe" ); +} + +static void jabber_remove_buddy( struct gaim_connection *gc, char *who, char *group ) +{ + if( jabber_remove_from_roster( gc, who ) ) + presence_send_request( gc, who, "unsubscribe" ); +} + static void jabber_keepalive( struct gaim_connection *gc ) { /* Just any whitespace character is enough as a keepalive for XMPP sessions. */ @@ -174,8 +186,8 @@ void jabber_init() ret->set_away = jabber_set_away; // ret->set_info = jabber_set_info; // ret->get_info = jabber_get_info; -// ret->add_buddy = jabber_add_buddy; -// ret->remove_buddy = jabber_remove_buddy; + ret->add_buddy = jabber_add_buddy; + ret->remove_buddy = jabber_remove_buddy; // ret->chat_send = jabber_chat_send; // ret->chat_invite = jabber_chat_invite; // ret->chat_leave = jabber_chat_leave; |