# HG changeset patch # User Paul Aurich # Date 1244012075 0 # Node ID d148ca9e4d9ab9d2946d9635da15f8d9891cb283 # Parent d31af94a715db5ab25aa027f24a5d747af2e0302 Use the modified signal in more places. diff -r d31af94a715d -r d148ca9e4d9a libpurple/plugins/signals-test.c --- a/libpurple/plugins/signals-test.c Wed Jun 03 06:45:25 2009 +0000 +++ b/libpurple/plugins/signals-test.c Wed Jun 03 06:54:35 2009 +0000 @@ -671,22 +671,16 @@ xmlnode_get_namespace(child)); if (g_str_equal(type, "get") || g_str_equal(type, "set")) { - PurplePlugin *prpl; - PurplePluginProtocolInfo *prpl_info; - char *str; - /* Send the requisite reply */ xmlnode *iq = xmlnode_new("iq"); xmlnode_set_attrib(iq, "to", from); xmlnode_set_attrib(iq, "id", id); xmlnode_set_attrib(iq, "type", "result"); - str = xmlnode_to_str(iq, NULL); - prpl = purple_connection_get_prpl(pc); - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); - prpl_info->send_raw(pc, str, -1); - g_free(str); - xmlnode_free(iq); + purple_signal_emit(purple_connection_get_prpl(pc), + "jabber-sending-xmlnode", pc, &iq); + if (iq != NULL) + xmlnode_free(iq); } /* Cookie monster eats IQ stanzas; the prpl shouldn't keep processing */ diff -r d31af94a715d -r d148ca9e4d9a pidgin/plugins/disco/xmppdisco.c --- a/pidgin/plugins/disco/xmppdisco.c Wed Jun 03 06:45:25 2009 +0000 +++ b/pidgin/plugins/disco/xmppdisco.c Wed Jun 03 06:54:35 2009 +0000 @@ -141,11 +141,8 @@ xmpp_disco_info_do(PurpleConnection *pc, gpointer cbdata, const char *jid, const char *node, XmppIqCallback cb) { - PurplePlugin *prpl; - PurplePluginProtocolInfo *prpl_info; xmlnode *iq, *query; char *id = generate_next_id(); - char *str; iq = xmlnode_new("iq"); xmlnode_set_attrib(iq, "type", "get"); @@ -157,26 +154,21 @@ if (node) xmlnode_set_attrib(query, "node", node); + /* Steals id */ xmpp_iq_register_callback(pc, id, cbdata, cb); - str = xmlnode_to_str(iq, NULL); - prpl = purple_connection_get_prpl(pc); - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); - prpl_info->send_raw(pc, str, -1); - g_free(str); - xmlnode_free(iq); - g_free(id); + purple_signal_emit(purple_connection_get_prpl(pc), "jabber-sending-xmlnode", + pc, &iq); + if (iq != NULL) + xmlnode_free(iq); } static void xmpp_disco_items_do(PurpleConnection *pc, gpointer cbdata, const char *jid, const char *node, XmppIqCallback cb) { - PurplePlugin *prpl; - PurplePluginProtocolInfo *prpl_info; xmlnode *iq, *query; char *id = generate_next_id(); - char *str; iq = xmlnode_new("iq"); xmlnode_set_attrib(iq, "type", "get"); @@ -188,15 +180,13 @@ if (node) xmlnode_set_attrib(query, "node", node); + /* Steals id */ xmpp_iq_register_callback(pc, id, cbdata, cb); - str = xmlnode_to_str(iq, NULL); - prpl = purple_connection_get_prpl(pc); - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); - prpl_info->send_raw(pc, str, -1); - g_free(str); - xmlnode_free(iq); - g_free(id); + purple_signal_emit(purple_connection_get_prpl(pc), "jabber-sending-xmlnode", + pc, &iq); + if (iq != NULL) + xmlnode_free(iq); } static XmppDiscoServiceType @@ -533,11 +523,8 @@ void xmpp_disco_service_register(XmppDiscoService *service) { - PurplePlugin *prpl; - PurplePluginProtocolInfo *prpl_info; xmlnode *iq, *query; char *id = generate_next_id(); - char *str; iq = xmlnode_new("iq"); xmlnode_set_attrib(iq, "type", "get"); @@ -547,12 +534,10 @@ query = xmlnode_new_child(iq, "query"); xmlnode_set_namespace(query, NS_REGISTER); - str = xmlnode_to_str(iq, NULL); - prpl = purple_connection_get_prpl(service->list->pc); - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); - prpl_info->send_raw(service->list->pc, str, -1); - g_free(str); - xmlnode_free(iq); + purple_signal_emit(purple_connection_get_prpl(service->list->pc), + "jabber-sending-xmlnode", service->list->pc, &iq); + if (iq != NULL) + xmlnode_free(iq); g_free(id); }