summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Ruprecht <cmaiku@gmail.com>2018-10-21 16:39:56 -0500
committerMike Ruprecht <cmaiku@gmail.com>2018-10-21 16:39:56 -0500
commit71f363b0715d8e4d684a6b44aca0137ca15e50a3 (patch)
tree793f97b9180eab3d5a70bed93bc64e887c319091
parentfc7a91c015ff9e91710fedd97ccfae486775f3b4 (diff)
downloadpidgin-71f363b0715d8e4d684a6b44aca0137ca15e50a3.tar.gz
libpurple: Port to new, refactored API of GPlugin 0.28
This patch updates libpurple to use GPlugin 0.28. It has refactored API in order to allow using more of the standard GObject functions and helper macros. This mainly involves using GTypeModule instead of GPlugin's old manual equivalent.
-rw-r--r--libpurple/plugins.c14
-rw-r--r--libpurple/plugins.h6
-rw-r--r--meson.build4
3 files changed, 11 insertions, 13 deletions
diff --git a/libpurple/plugins.c b/libpurple/plugins.c
index 9ab5fada80..05b1a19cff 100644
--- a/libpurple/plugins.c
+++ b/libpurple/plugins.c
@@ -274,10 +274,10 @@ purple_plugin_register_type(PurplePlugin *plugin, GType parent,
const gchar *name, const GTypeInfo *info,
GTypeFlags flags)
{
- g_return_val_if_fail(GPLUGIN_IS_NATIVE_PLUGIN(plugin), G_TYPE_INVALID);
+ g_return_val_if_fail(G_TYPE_MODULE(plugin), G_TYPE_INVALID);
- return gplugin_native_plugin_register_type(GPLUGIN_NATIVE_PLUGIN(plugin),
- parent, name, info, flags);
+ return g_type_module_register_type(G_TYPE_MODULE(plugin),
+ parent, name, info, flags);
}
void
@@ -285,11 +285,11 @@ purple_plugin_add_interface(PurplePlugin *plugin, GType instance_type,
GType interface_type,
const GInterfaceInfo *interface_info)
{
- g_return_if_fail(GPLUGIN_IS_NATIVE_PLUGIN(plugin));
+ g_return_if_fail(G_TYPE_MODULE(plugin));
- gplugin_native_plugin_add_interface(GPLUGIN_NATIVE_PLUGIN(plugin),
- instance_type, interface_type,
- interface_info);
+ g_type_module_add_interface(G_TYPE_MODULE(plugin),
+ instance_type, interface_type,
+ interface_info);
}
gboolean
diff --git a/libpurple/plugins.h b/libpurple/plugins.h
index 1dd83044e8..91bc5d0829 100644
--- a/libpurple/plugins.h
+++ b/libpurple/plugins.h
@@ -40,10 +40,8 @@
#define PURPLE_TYPE_PLUGIN GPLUGIN_TYPE_PLUGIN
#define PURPLE_PLUGIN(obj) GPLUGIN_PLUGIN(obj)
-#define PURPLE_PLUGIN_CLASS(klass) GPLUGIN_PLUGIN_CLASS(klass)
#define PURPLE_IS_PLUGIN(obj) GPLUGIN_IS_PLUGIN(obj)
-#define PURPLE_IS_PLUGIN_CLASS(klass) GPLUGIN_IS_PLUGIN_CLASS(klass)
-#define PURPLE_PLUGIN_GET_CLASS(obj) GPLUGIN_PLUGIN_GET_CLASS(obj)
+#define PURPLE_PLUGIN_GET_IFACE(obj) GPLUGIN_PLUGIN_GET_IFACE(obj)
/**
* PurplePlugin:
@@ -53,7 +51,7 @@
*/
typedef GPluginPlugin PurplePlugin;
-typedef GPluginPluginClass PurplePluginClass;
+typedef GPluginPluginInterface PurplePluginInterface;
#define PURPLE_TYPE_PLUGIN_INFO (purple_plugin_info_get_type())
#define PURPLE_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_PLUGIN_INFO, PurplePluginInfo))
diff --git a/meson.build b/meson.build
index 79766d6419..8420b72a46 100644
--- a/meson.build
+++ b/meson.build
@@ -757,9 +757,9 @@ if enable_kwallet
endif
#######################################################################
-# Check for GPlugin 0.0.17
+# Check for GPlugin 0.28.0
#######################################################################
-gplugin = dependency('gplugin', version : '>= 0.0.17')
+gplugin = dependency('gplugin', version : '>= 0.28.0')
#######################################################################
# Check for GObject Introspection