# HG changeset patch # User Mike Ruprecht # Date 1540157996 18000 # Node ID e8e189c88b13f6c195831f1ac61fb81d3300baf3 # Parent b117963f4ff8c653638661560c58b5c12662a755 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. diff -r b117963f4ff8 -r e8e189c88b13 libpurple/plugins.c --- 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 diff -r b117963f4ff8 -r e8e189c88b13 libpurple/plugins.h --- 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)) diff -r b117963f4ff8 -r e8e189c88b13 meson.build --- 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