diff options
author | Tobias Markmann <tfar@soc.pidgin.im> | 2008-07-15 15:38:15 +0000 |
---|---|---|
committer | Tobias Markmann <tfar@soc.pidgin.im> | 2008-07-15 15:38:15 +0000 |
commit | 6fd731b0a9bee7e11f314819c11f9d741a2aeb1f (patch) | |
tree | 97d037d28b47e73e1d7bf11415e5c5a6023ace85 | |
parent | cd290badc9393ee6f561640022589e95e4244521 (diff) | |
download | pidgin-6fd731b0a9bee7e11f314819c11f9d741a2aeb1f.tar.gz |
* implemented jabber_caps_broadcast_change() and finished jabber_ipc_add_feature() IPC function
-rw-r--r-- | libpurple/protocols/jabber/caps.c | 13 | ||||
-rw-r--r-- | libpurple/protocols/jabber/caps.h | 5 | ||||
-rw-r--r-- | libpurple/protocols/jabber/jabber.c | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/libpurple/protocols/jabber/caps.c b/libpurple/protocols/jabber/caps.c index 1633ef6965..7f6515b409 100644 --- a/libpurple/protocols/jabber/caps.c +++ b/libpurple/protocols/jabber/caps.c @@ -845,3 +845,16 @@ const gchar* jabber_caps_get_own_hash() { return caps_hash; } +void jabber_caps_broadcast_change() { + GList *active_accounts = purple_accounts_get_all_active(); + for (active_accounts = purple_accounts_get_all_active(); active_accounts; active_accounts = active_accounts->next) { + PurpleAccount *account = active_accounts->data; + if (!strcmp(account->protocol_id, "jabber")) { + PurpleConnection *conn = account->gc; + JabberStream *js = conn->proto_data; + xmlnode *presence = jabber_presence_create_js(js, JABBER_BUDDY_STATE_UNKNOWN, 0, 0); + jabber_send(js, presence); + } + } +} + diff --git a/libpurple/protocols/jabber/caps.h b/libpurple/protocols/jabber/caps.h index f8b0792f12..2fb61d3583 100644 --- a/libpurple/protocols/jabber/caps.h +++ b/libpurple/protocols/jabber/caps.h @@ -88,4 +88,9 @@ void jabber_caps_calculate_own_hash(); **/ const gchar* jabber_caps_get_own_hash(); +/** + * + */ +void jabber_caps_broadcast_change(); + #endif /* _PURPLE_JABBER_CAPS_H_ */ diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c index 41c932726f..06849893d6 100644 --- a/libpurple/protocols/jabber/jabber.c +++ b/libpurple/protocols/jabber/jabber.c @@ -2480,6 +2480,7 @@ jabber_ipc_add_feature(gchar *feature) jabber_add_feature(feature, 0); // send presence with new caps info for all connected accounts + jabber_caps_broadcast_change(); } void |