pidgin/pidgin

Parents fb206d19393f
Children 0e11ce1049b2
Convert all of the protocols to use the new protocol_manager_ api

Testing Done:
Compiled and ran locally. Verified all protocol plugins showed up and that there were no errors on shutdown.

Bugs closed: PIDGIN-17474

Reviewed at https://reviews.imfreedom.org/r/537/
--- a/libpurple/protocols/bonjour/bonjour.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/bonjour/bonjour.c Tue Mar 02 22:50:02 2021 -0600
@@ -755,13 +755,18 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
bonjour_protocol_register_type(G_TYPE_MODULE(plugin));
xep_xfer_register(G_TYPE_MODULE(plugin));
- my_protocol = purple_protocols_add(BONJOUR_TYPE_PROTOCOL, error);
- if (!my_protocol)
+ my_protocol = g_object_new(BONJOUR_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, my_protocol, error)) {
+ g_clear_object(&my_protocol);
+
return FALSE;
+ }
initialize_default_account_values();
@@ -771,8 +776,13 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
- if (!purple_protocols_remove(my_protocol, error))
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
return FALSE;
+ }
+
+ g_clear_object(&my_protocol);
g_free(default_firstname);
g_free(default_lastname);
--- a/libpurple/protocols/facebook/facebook.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/facebook/facebook.c Tue Mar 02 22:50:02 2021 -0600
@@ -1689,10 +1689,14 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
facebook_protocol_register_type(G_TYPE_MODULE(plugin));
- fb_protocol = purple_protocols_add(FACEBOOK_TYPE_PROTOCOL, error);
+ fb_protocol = g_object_new(FACEBOOK_TYPE_PROTOCOL, NULL);
- if (fb_protocol == NULL) {
+ if(!purple_protocol_manager_register(manager, fb_protocol, error)) {
+ g_clear_object(&fb_protocol);
+
return FALSE;
}
@@ -1703,8 +1707,17 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, fb_protocol, error)) {
+ return FALSE;
+ }
+
fb_cmds_unregister();
- return purple_protocols_remove(fb_protocol, error);
+
+ g_clear_object(&fb_protocol);
+
+ return TRUE;
}
PURPLE_PLUGIN_INIT(facebook, plugin_query, plugin_load, plugin_unload);
--- a/libpurple/protocols/gg/gg.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/gg/gg.c Tue Mar 02 22:50:02 2021 -0600
@@ -1218,13 +1218,18 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
ggp_protocol_register_type(G_TYPE_MODULE(plugin));
ggp_xfer_register(G_TYPE_MODULE(plugin));
- my_protocol = purple_protocols_add(GGP_TYPE_PROTOCOL, error);
- if (!my_protocol)
+ my_protocol = g_object_new(GGP_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, my_protocol, error)) {
+ g_clear_object(&my_protocol);
+
return FALSE;
+ }
purple_prefs_add_none("/plugins/prpl/gg");
@@ -1246,6 +1251,12 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
+ return FALSE;
+ }
+
purple_signal_disconnect(purple_get_core(), "uri-handler", plugin,
PURPLE_CALLBACK(gg_uri_handler));
@@ -1254,8 +1265,7 @@
ggp_message_cleanup_global();
ggp_libgaduw_cleanup();
- if (!purple_protocols_remove(my_protocol, error))
- return FALSE;
+ g_clear_object(&my_protocol);
return TRUE;
}
--- a/libpurple/protocols/irc/irc.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/irc/irc.c Tue Mar 02 22:50:02 2021 -0600
@@ -1128,13 +1128,18 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
irc_protocol_register_type(G_TYPE_MODULE(plugin));
irc_xfer_register(G_TYPE_MODULE(plugin));
- _irc_protocol = purple_protocols_add(IRC_TYPE_PROTOCOL, error);
- if (!_irc_protocol)
+ _irc_protocol = g_object_new(IRC_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, _irc_protocol, error)) {
+ g_clear_object(&_irc_protocol);
+
return FALSE;
+ }
purple_prefs_remove("/plugins/prpl/irc/quitmsg");
purple_prefs_remove("/plugins/prpl/irc");
@@ -1159,13 +1164,18 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, _irc_protocol, error)) {
+ return FALSE;
+ }
+
irc_unregister_commands();
purple_signal_disconnect(purple_get_core(), "uri-handler", plugin,
PURPLE_CALLBACK(irc_uri_handler));
- if (!purple_protocols_remove(_irc_protocol, error))
- return FALSE;
+ g_clear_object(&_irc_protocol);
return TRUE;
}
--- a/libpurple/protocols/jabber/jabber.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/jabber/jabber.c Tue Mar 02 22:50:02 2021 -0600
@@ -4283,6 +4283,8 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
jingle_session_register(plugin);
jingle_transport_register(plugin);
@@ -4300,9 +4302,12 @@
jabber_si_xfer_register(G_TYPE_MODULE(plugin));
- xmpp_protocol = purple_protocols_add(XMPP_TYPE_PROTOCOL, error);
- if (!xmpp_protocol)
+ xmpp_protocol = g_object_new(XMPP_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, xmpp_protocol, error)) {
+ g_clear_object(&xmpp_protocol);
+
return FALSE;
+ }
purple_signal_connect(purple_get_core(), "uri-handler", xmpp_protocol,
PURPLE_CALLBACK(xmpp_uri_handler), xmpp_protocol);
@@ -4315,13 +4320,18 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, xmpp_protocol, error)) {
+ return FALSE;
+ }
+
purple_signal_disconnect(purple_get_core(), "uri-handler",
xmpp_protocol, PURPLE_CALLBACK(xmpp_uri_handler));
jabber_uninit_protocol(xmpp_protocol);
- if (!purple_protocols_remove(xmpp_protocol, error))
- return FALSE;
+ g_clear_object(&xmpp_protocol);
return TRUE;
}
--- a/libpurple/protocols/novell/novell.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/novell/novell.c Tue Mar 02 22:50:02 2021 -0600
@@ -3628,11 +3628,16 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
novell_protocol_register_type(G_TYPE_MODULE(plugin));
- my_protocol = purple_protocols_add(NOVELL_TYPE_PROTOCOL, error);
- if (!my_protocol)
+ my_protocol = g_object_new(NOVELL_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, my_protocol, error)) {
+ g_clear_object(&my_protocol);
+
return FALSE;
+ }
return TRUE;
}
@@ -3640,8 +3645,13 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
- if (!purple_protocols_remove(my_protocol, error))
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
return FALSE;
+ }
+
+ g_clear_object(&my_protocol);
return TRUE;
}
--- a/libpurple/protocols/null/nullprpl.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/null/nullprpl.c Tue Mar 02 22:50:02 2021 -0600
@@ -1223,14 +1223,19 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
/* register the NULL_TYPE_PROTOCOL type in the type system. this function
* is defined by G_DEFINE_DYNAMIC_TYPE_EXTENDED. */
null_protocol_register_type(G_TYPE_MODULE(plugin));
/* add the protocol to the core */
- my_protocol = purple_protocols_add(NULL_TYPE_PROTOCOL, error);
- if (!my_protocol)
+ my_protocol = g_object_new(NULL_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, my_protocol, error)) {
+ g_clear_object(&my_protocol);
+
return FALSE;
+ }
purple_debug_info("nullprpl", "starting up\n");
@@ -1246,11 +1251,16 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
purple_debug_info("nullprpl", "shutting down\n");
/* remove the protocol from the core */
- if (!purple_protocols_remove(my_protocol, error))
+ if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
return FALSE;
+ }
+
+ g_clear_object(&my_protocol);
return TRUE;
}
--- a/libpurple/protocols/sametime/sametime.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/sametime/sametime.c Tue Mar 02 22:50:02 2021 -0600
@@ -5393,6 +5393,7 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
GLogLevelFlags logflags =
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION;
@@ -5400,9 +5401,12 @@
mw_xfer_register_type(G_TYPE_MODULE(plugin));
- my_protocol = purple_protocols_add(MW_TYPE_PROTOCOL, error);
- if (!my_protocol)
+ my_protocol = g_object_new(MW_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, my_protocol, error)) {
+ g_clear_object(&my_protocol);
+
return FALSE;
+ }
/* forward all our g_log messages to purple. Generally all the logging
calls are using purple_log directly, but the g_return macros will
@@ -5423,13 +5427,18 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
+ return FALSE;
+ }
+
g_mime_shutdown();
g_log_remove_handler(G_LOG_DOMAIN, log_handler[0]);
g_log_remove_handler("meanwhile", log_handler[1]);
- if (!purple_protocols_remove(my_protocol, error))
- return FALSE;
+ g_clear_object(&my_protocol);
return TRUE;
}
--- a/libpurple/protocols/silc/silc.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/silc/silc.c Tue Mar 02 22:50:02 2021 -0600
@@ -2339,13 +2339,18 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
silcpurple_protocol_register_type(G_TYPE_MODULE(plugin));
silcpurple_xfer_register(G_TYPE_MODULE(plugin));
- my_protocol = purple_protocols_add(SILCPURPLE_TYPE_PROTOCOL, error);
- if (!my_protocol)
+ my_protocol = g_object_new(SILCPURPLE_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, my_protocol, error)) {
+ g_clear_object(&my_protocol);
+
return FALSE;
+ }
purple_prefs_remove("/plugins/prpl/silc");
@@ -2358,10 +2363,15 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
+ return FALSE;
+ }
+
silcpurple_unregister_commands();
- if (!purple_protocols_remove(my_protocol, error))
- return FALSE;
+ g_clear_object(&my_protocol);
return TRUE;
}
--- a/libpurple/protocols/zephyr/zephyr.c Sun Feb 28 22:05:06 2021 -0600
+++ b/libpurple/protocols/zephyr/zephyr.c Tue Mar 02 22:50:02 2021 -0600
@@ -1709,11 +1709,16 @@
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
zephyr_protocol_register_type(G_TYPE_MODULE(plugin));
- my_protocol = purple_protocols_add(ZEPHYR_TYPE_PROTOCOL, error);
- if (!my_protocol)
+ my_protocol = g_object_new(ZEPHYR_TYPE_PROTOCOL, NULL);
+ if(!purple_protocol_manager_register(manager, my_protocol, error)) {
+ g_clear_object(&my_protocol);
+
return FALSE;
+ }
zephyr_register_slash_commands();
@@ -1724,10 +1729,15 @@
static gboolean
plugin_unload(PurplePlugin *plugin, GError **error)
{
+ PurpleProtocolManager *manager = purple_protocol_manager_get_default();
+
+ if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
+ return FALSE;
+ }
+
zephyr_unregister_slash_commands();
- if (!purple_protocols_remove(my_protocol, error))
- return FALSE;
+ g_clear_object(&my_protocol);
return TRUE;
}