--- a/gplugin/gplugin-loader.h Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-loader.h Thu Jul 18 05:09:47 2019 -0500
@@ -22,26 +22,16 @@
-#define GPLUGIN_TYPE_LOADER (gplugin_loader_get_type())
-#define GPLUGIN_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_LOADER, GPluginLoader))
-#define GPLUGIN_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLUGIN_TYPE_LOADER, GPluginLoaderClass))
-#define GPLUGIN_IS_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_LOADER))
-#define GPLUGIN_IS_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLUGIN_TYPE_LOADER))
-#define GPLUGIN_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_LOADER, GPluginLoaderClass))
-typedef struct _GPluginLoader GPluginLoader;
-typedef struct _GPluginLoaderClass GPluginLoaderClass;
-#include <gplugin/gplugin-plugin.h>
+#define GPLUGIN_TYPE_LOADER (gplugin_loader_get_type()) +G_DECLARE_DERIVABLE_TYPE(GPluginLoader, gplugin_loader, GPLUGIN, LOADER, GObject)
+/* circular include so this needs to be after the G_DECLARE_* marcro */ +#include <gplugin/gplugin-plugin.h> struct _GPluginLoaderClass {
@@ -56,10 +46,6 @@
-GType gplugin_loader_get_type(void);
GSList *gplugin_loader_class_get_supported_extensions(GPluginLoaderClass *klass);
GPluginPlugin *gplugin_loader_query_plugin(GPluginLoader *loader, const gchar *filename, GError **error);
--- a/gplugin/gplugin-native-loader.c Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-native-loader.c Thu Jul 18 05:09:47 2019 -0500
@@ -45,6 +45,10 @@
* as the value for #abi_version when call #gplugin_plugin_info_new.
+struct _GPluginNativeLoader { G_DEFINE_TYPE(GPluginNativeLoader, gplugin_native_loader, GPLUGIN_TYPE_LOADER);
/******************************************************************************
--- a/gplugin/gplugin-native-loader.h Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-native-loader.h Thu Jul 18 05:09:47 2019 -0500
@@ -22,16 +22,6 @@
#ifndef GPLUGIN_NATIVE_LOADER_H
#define GPLUGIN_NATIVE_LOADER_H
-#define GPLUGIN_TYPE_NATIVE_LOADER (gplugin_native_loader_get_type())
-#define GPLUGIN_NATIVE_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_NATIVE_LOADER, GPluginNativeLoader))
-#define GPLUGIN_NATIVE_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_NATIVE_LOADER, GPluginNativeLoaderClass))
-#define GPLUGIN_IS_NATIVE_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_NATIVE_LOADER))
-#define GPLUGIN_IS_NATIVE_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_NATIVE_LOADER))
-#define GPLUGIN_NATIVE_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_NATIVE_LOADER, GPluginNativeLoaderClass))
-typedef struct _GPluginNativeLoader GPluginNativeLoader;
-typedef struct _GPluginNativeLoaderClass GPluginNativeLoaderClass;
@@ -39,21 +29,10 @@
#define GPLUGIN_NATIVE_PLUGIN_ABI_VERSION 0x01000000
-struct _GPluginNativeLoader {
-struct _GPluginNativeLoaderClass {
- GPluginLoaderClass parent;
-GType gplugin_native_loader_get_type(void);
+#define GPLUGIN_TYPE_NATIVE_LOADER (gplugin_native_loader_get_type()) +G_DECLARE_FINAL_TYPE(GPluginNativeLoader, gplugin_native_loader, GPLUGIN, NATIVE_LOADER, GPluginLoader) --- a/gplugin/gplugin-native-plugin.c Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-native-plugin.c Thu Jul 18 05:09:47 2019 -0500
@@ -38,7 +38,9 @@
/******************************************************************************
*****************************************************************************/
+struct _GPluginNativePlugin { @@ -48,7 +50,7 @@
GPluginPluginState state;
-} GPluginNativePluginPrivate;
/******************************************************************************
@@ -94,7 +96,6 @@
- G_ADD_PRIVATE(GPluginNativePlugin)
G_IMPLEMENT_INTERFACE(GPLUGIN_TYPE_PLUGIN, gplugin_native_plugin_iface_init)
@@ -103,7 +104,6 @@
GPluginNativePlugin *plugin = GPLUGIN_NATIVE_PLUGIN(obj);
- GPluginNativePluginPrivate *priv = gplugin_native_plugin_get_instance_private(plugin);
@@ -111,24 +111,24 @@
gplugin_native_plugin_get_module(plugin));
- g_value_set_pointer(value, priv->load_func);
+ g_value_set_pointer(value, plugin->load_func); - g_value_set_pointer(value, priv->unload_func);
+ g_value_set_pointer(value, plugin->unload_func); - g_value_set_string(value, priv->filename);
+ g_value_set_string(value, plugin->filename); - g_value_set_object(value, priv->loader);
+ g_value_set_object(value, plugin->loader); - g_value_set_object(value, priv->info);
+ g_value_set_object(value, plugin->info); - g_value_set_enum(value, priv->state);
+ g_value_set_enum(value, plugin->state); G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
@@ -140,31 +140,31 @@
gplugin_native_plugin_set_property(GObject *obj, guint param_id,
const GValue *value, GParamSpec *pspec)
- GPluginNativePluginPrivate *priv = gplugin_native_plugin_get_instance_private(GPLUGIN_NATIVE_PLUGIN(obj));
+ GPluginNativePlugin *plugin = GPLUGIN_NATIVE_PLUGIN(obj); - priv->module = g_value_get_pointer(value);
+ plugin->module = g_value_get_pointer(value); - priv->load_func = g_value_get_pointer(value);
+ plugin->load_func = g_value_get_pointer(value); - priv->unload_func = g_value_get_pointer(value);
+ plugin->unload_func = g_value_get_pointer(value); - priv->filename = g_value_dup_string(value);
+ plugin->filename = g_value_dup_string(value); - priv->loader = g_value_dup_object(value);
+ plugin->loader = g_value_dup_object(value); - priv->info = g_value_dup_object(value);
+ plugin->info = g_value_dup_object(value); - priv->state = g_value_get_enum(value);
+ plugin->state = g_value_get_enum(value); @@ -175,11 +175,11 @@
gplugin_native_plugin_finalize(GObject *obj) {
- GPluginNativePluginPrivate *priv = gplugin_native_plugin_get_instance_private(GPLUGIN_NATIVE_PLUGIN(obj));
+ GPluginNativePlugin *plugin = GPLUGIN_NATIVE_PLUGIN(obj); - g_clear_pointer(&priv->filename, g_free);
- g_clear_object(&priv->loader);
- g_clear_object(&priv->info);
+ g_clear_pointer(&plugin->filename, g_free); + g_clear_object(&plugin->loader); + g_clear_object(&plugin->info); G_OBJECT_CLASS(gplugin_native_plugin_parent_class)->finalize(obj);
@@ -257,12 +257,8 @@
gplugin_native_plugin_get_module(GPluginNativePlugin *plugin) {
- GPluginNativePluginPrivate *priv = NULL;
g_return_val_if_fail(GPLUGIN_IS_NATIVE_PLUGIN(plugin), NULL);
- priv = gplugin_native_plugin_get_instance_private(plugin);
--- a/gplugin/gplugin-native-plugin.h Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-native-plugin.h Thu Jul 18 05:09:47 2019 -0500
@@ -22,37 +22,14 @@
#ifndef GPLUGIN_NATIVE_PLUGIN_H
#define GPLUGIN_NATIVE_PLUGIN_H
-#define GPLUGIN_TYPE_NATIVE_PLUGIN (gplugin_native_plugin_get_type())
-#define GPLUGIN_NATIVE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_NATIVE_PLUGIN, GPluginNativePlugin))
-#define GPLUGIN_NATIVE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_NATIVE_PLUGIN, GPluginNativePluginClass))
-#define GPLUGIN_IS_NATIVE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_NATIVE_PLUGIN))
-#define GPLUGIN_IS_NATIVE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_NATIVE_PLUGIN))
-#define GPLUGIN_NATIVE_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_NATIVE_PLUGIN, GPluginNativePluginClass))
-typedef struct _GPluginNativePlugin GPluginNativePlugin;
-typedef struct _GPluginNativePluginClass GPluginNativePluginClass;
#include <gplugin/gplugin-plugin.h>
-struct _GPluginNativePlugin {
-struct _GPluginNativePluginClass {
- GTypeModuleClass parent;
-GType gplugin_native_plugin_get_type(void);
+#define GPLUGIN_TYPE_NATIVE_PLUGIN (gplugin_native_plugin_get_type()) +G_DECLARE_FINAL_TYPE(GPluginNativePlugin, gplugin_native_plugin, GPLUGIN, NATIVE_PLUGIN, GTypeModule) GModule *gplugin_native_plugin_get_module(GPluginNativePlugin *plugin);
--- a/gplugin/gplugin-plugin-info.c Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-plugin-info.c Thu Jul 18 05:09:47 2019 -0500
@@ -90,7 +90,7 @@
static GParamSpec *properties[N_PROPERTIES] = {NULL,};
-G_DEFINE_TYPE_WITH_PRIVATE(GPluginPluginInfo, gplugin_plugin_info, G_TYPE_INITIALLY_UNOWNED)
+G_DEFINE_TYPE_WITH_PRIVATE(GPluginPluginInfo, gplugin_plugin_info, G_TYPE_INITIALLY_UNOWNED) /******************************************************************************
--- a/gplugin/gplugin-plugin-info.h Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-plugin-info.h Thu Jul 18 05:09:47 2019 -0500
@@ -22,39 +22,23 @@
#ifndef GPLUGIN_PLUGIN_INFO_H
#define GPLUGIN_PLUGIN_INFO_H
-#define GPLUGIN_TYPE_PLUGIN_INFO (gplugin_plugin_info_get_type())
-#define GPLUGIN_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_PLUGIN_INFO, GPluginPluginInfo))
-#define GPLUGIN_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLUGIN_TYPE_PLUGIN_INFO, GPluginPluginInfoClass))
-#define GPLUGIN_IS_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_PLUGIN_INFO))
-#define GPLUGIN_IS_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLUGIN_TYPE_PLUGIN_INFO))
-#define GPLUGIN_PLUGIN_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_PLUGIN_INFO, GPluginPluginInfoClass))
-typedef struct _GPluginPluginInfo GPluginPluginInfo;
-typedef struct _GPluginPluginInfoClass GPluginPluginInfoClass;
+#define GPLUGIN_TYPE_PLUGIN_INFO (gplugin_plugin_info_get_type()) +G_DECLARE_DERIVABLE_TYPE(GPluginPluginInfo, gplugin_plugin_info, GPLUGIN, PLUGIN_INFO, GInitiallyUnowned) #include <gplugin/gplugin-loader.h>
#include <gplugin/gplugin-version.h>
-struct _GPluginPluginInfo {
- GInitiallyUnowned gparent;
struct _GPluginPluginInfoClass {
GInitiallyUnownedClass gparent;
- void (*_gplugin_reserved_1)(void);
- void (*_gplugin_reserved_2)(void);
- void (*_gplugin_reserved_3)(void);
- void (*_gplugin_reserved_4)(void);
-GType gplugin_plugin_info_get_type(void);
#define gplugin_plugin_info_new(id, abi_version, ...) \
g_object_new(GPLUGIN_TYPE_PLUGIN_INFO, \
--- a/gplugin/gplugin-plugin.h Thu Jul 18 01:13:19 2019 +0000
+++ b/gplugin/gplugin-plugin.h Thu Jul 18 05:09:47 2019 -0500
@@ -22,13 +22,8 @@
-#define GPLUGIN_TYPE_PLUGIN (gplugin_plugin_get_type())
-#define GPLUGIN_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_PLUGIN, GPluginPlugin))
-#define GPLUGIN_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_PLUGIN))
-#define GPLUGIN_PLUGIN_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), GPLUGIN_TYPE_PLUGIN, GPluginPluginInterface))
-typedef struct _GPluginPlugin GPluginPlugin;
-typedef struct _GPluginPluginInterface GPluginPluginInterface;
+#include <glib-object.h> typedef enum /*< prefix=GPLUGIN_PLUGIN_STATE,underscore_name=GPLUGIN_PLUGIN_STATE >*/ {
GPLUGIN_PLUGIN_STATE_UNKNOWN = -1,
@@ -42,9 +37,12 @@
GPLUGIN_PLUGIN_STATES, /*< skip >*/
-#include <glib-object.h>
+#define GPLUGIN_TYPE_PLUGIN (gplugin_plugin_get_type()) +G_DECLARE_INTERFACE(GPluginPlugin, gplugin_plugin, GPLUGIN, PLUGIN, GObject) +/* circular dependencies suck... */ #include <gplugin/gplugin-plugin-info.h>
#include <gplugin/gplugin-loader.h>
@@ -58,10 +56,6 @@
-GType gplugin_plugin_get_type(void);
gchar *gplugin_plugin_get_filename(GPluginPlugin *plugin);
GPluginLoader *gplugin_plugin_get_loader(GPluginPlugin *plugin);
GPluginPluginInfo *gplugin_plugin_get_info(GPluginPlugin *plugin);