--- a/pidgin/plugins/xmppconsole.c Fri Jan 31 13:11:11 2014 +0100
+++ b/pidgin/plugins/xmppconsole.c Fri Jan 31 13:35:50 2014 +0100
@@ -48,6 +48,10 @@
XmppConsole *console = NULL;
static void *xmpp_console_handle = NULL;
+static const gchar *xmpp_prpls[] = { + "prpl-jabber", "prpl-gtalk", "prpl-facebook-xmpp", NULL "<html><head><style type='text/css'>" \
"body { word-wrap: break-word; margin: 0; }" \
@@ -62,6 +66,24 @@
"span.xmlns { color: #2cb12f; font-weight: bold;}" \
+xmppconsole_is_xmpp_account(PurpleAccount *account) + const gchar *prpl_name; + prpl_name = purple_account_get_protocol_id(account); + while (xmpp_prpls[i] != NULL) { + if (g_strcmp0(xmpp_prpls[i], prpl_name) == 0) purple_xmlnode_to_pretty_str(PurpleXmlNode *node, int *len)
@@ -656,7 +678,7 @@
account = purple_connection_get_account(gc);
- if (strcmp(purple_account_get_protocol_id(account), "prpl-jabber"))
+ if (!xmppconsole_is_xmpp_account(account)) gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(console->dropdown),
@@ -709,21 +731,37 @@
plugin_load(PurplePlugin *plugin)
- jabber = purple_find_prpl("prpl-jabber");
+ gboolean any_registered = FALSE; xmpp_console_handle = plugin;
- purple_signal_connect(jabber, "jabber-receiving-xmlnode", xmpp_console_handle,
- PURPLE_CALLBACK(purple_xmlnode_received_cb), NULL);
- purple_signal_connect(jabber, "jabber-sending-text", xmpp_console_handle,
- PURPLE_CALLBACK(purple_xmlnode_sent_cb), NULL);
+ while (xmpp_prpls[i] != NULL) { + xmpp = purple_find_prpl(xmpp_prpls[i]); + purple_signal_connect(xmpp, "jabber-receiving-xmlnode", + PURPLE_CALLBACK(purple_xmlnode_received_cb), NULL); + purple_signal_connect(xmpp, "jabber-sending-text", + PURPLE_CALLBACK(purple_xmlnode_sent_cb), NULL); purple_signal_connect(purple_connections_get_handle(), "signing-on",
- plugin, PURPLE_CALLBACK(signing_on_cb), NULL);
+ plugin, PURPLE_CALLBACK(signing_on_cb), NULL); purple_signal_connect(purple_connections_get_handle(), "signed-off",
- plugin, PURPLE_CALLBACK(signed_off_cb), NULL);
+ plugin, PURPLE_CALLBACK(signed_off_cb), NULL); @@ -783,7 +821,7 @@
console->dropdown = gtk_combo_box_text_new();
for (connections = purple_connections_get_all(); connections; connections = connections->next) {
PurpleConnection *gc = connections->data;
- if (!strcmp(purple_account_get_protocol_id(purple_connection_get_account(gc)), "prpl-jabber")) {
+ if (xmppconsole_is_xmpp_account(purple_connection_get_account(gc))) { console->accounts = g_list_append(console->accounts, gc);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(console->dropdown),