Sun, 21 Oct 2018 16:39:56 -0500
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.
| libpurple/plugins.c | file | annotate | diff | comparison | revisions | |
| libpurple/plugins.h | file | annotate | diff | comparison | revisions | |
| meson.build | file | annotate | diff | comparison | revisions |
--- a/libpurple/plugins.c Tue Jan 15 18:50:34 2019 -0600 +++ b/libpurple/plugins.c Sun Oct 21 16:39:56 2018 -0500 @@ -274,10 +274,10 @@ 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 @@ 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
--- a/libpurple/plugins.h Tue Jan 15 18:50:34 2019 -0600 +++ b/libpurple/plugins.h Sun Oct 21 16:39:56 2018 -0500 @@ -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))
--- a/meson.build Tue Jan 15 18:50:34 2019 -0600 +++ b/meson.build Sun Oct 21 16:39:56 2018 -0500 @@ -757,9 +757,9 @@ 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