--- a/python/gplugin-python-loader.c Thu Jul 18 05:50:35 2019 -0500
+++ b/python/gplugin-python-loader.c Thu Jul 18 06:16:28 2019 -0500
@@ -28,18 +28,14 @@
+struct _GPluginPythonLoader { PyThreadState *py_thread_state;
-} GPluginPythonLoaderPrivate;
-G_DEFINE_DYNAMIC_TYPE_EXTENDED(
- G_ADD_PRIVATE_DYNAMIC(GPluginPythonLoader)
+G_DEFINE_DYNAMIC_TYPE(GPluginPythonLoader, gplugin_python_loader, GPLUGIN_TYPE_LOADER); /******************************************************************************
* GPluginLoader Implementation
--- a/python/gplugin-python-loader.h Thu Jul 18 05:50:35 2019 -0500
+++ b/python/gplugin-python-loader.h Thu Jul 18 06:16:28 2019 -0500
@@ -18,37 +18,15 @@
#ifndef GPLUGIN_PYTHON_LOADER_H
#define GPLUGIN_PYTHON_LOADER_H
-#define GPLUGIN_TYPE_PYTHON_LOADER (gplugin_python_loader_get_type())
-#define GPLUGIN_PYTHON_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_PYTHON_LOADER, GPluginPythonLoader))
-#define GPLUGIN_PYTHON_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_PYTHON_LOADER, GPluginPythonLoaderClass))
-#define GPLUGIN_IS_PYTHON_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_PYTHON_LOADER))
-#define GPLUGIN_IS_PYTHON_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_PYTHON_LOADER))
-#define GPLUGIN_PYTHON_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_PYTHON_LOADER, GPluginPythonLoaderClass))
-typedef struct _GPluginPythonLoader GPluginPythonLoader;
-typedef struct _GPluginPythonLoaderClass GPluginPythonLoaderClass;
#include <gplugin-native.h>
-struct _GPluginPythonLoader {
-struct _GPluginPythonLoaderClass {
- GPluginLoaderClass parent;
+#define GPLUGIN_TYPE_PYTHON_LOADER (gplugin_python_loader_get_type()) +G_DECLARE_FINAL_TYPE(GPluginPythonLoader, gplugin_python_loader, GPLUGIN_PYTHON, LOADER, GPluginLoader) void gplugin_python_loader_register(GPluginNativePlugin *native);
-GType gplugin_python_loader_get_type(void);
--- a/python/gplugin-python-plugin.c Thu Jul 18 05:50:35 2019 -0500
+++ b/python/gplugin-python-plugin.c Thu Jul 18 06:16:28 2019 -0500
@@ -24,7 +24,9 @@
/******************************************************************************
*****************************************************************************/
+struct _GPluginPythonPlugin { @@ -35,7 +37,7 @@
GPluginPluginState state;
-} GPluginPythonPluginPrivate;
/******************************************************************************
@@ -62,7 +64,6 @@
- G_ADD_PRIVATE_DYNAMIC(GPluginPythonPlugin)
G_IMPLEMENT_INTERFACE(GPLUGIN_TYPE_PLUGIN, gplugin_python_plugin_iface_init)
@@ -76,85 +77,54 @@
/******************************************************************************
*****************************************************************************/
-gplugin_python_plugin_get_module(GPluginPythonPlugin *plugin) {
- GPluginPythonPluginPrivate *priv = NULL;
- g_return_val_if_fail(GPLUGIN_IS_PYTHON_PLUGIN(plugin), NULL);
- priv = gplugin_python_plugin_get_instance_private(plugin);
gplugin_python_plugin_set_module(GPluginPythonPlugin *plugin,
- GPluginPythonPluginPrivate *priv = NULL;
g_return_if_fail(GPLUGIN_IS_PLUGIN(plugin));
g_return_if_fail(module);
- priv = gplugin_python_plugin_get_instance_private(plugin);
- Py_CLEAR(priv->module);
+ Py_CLEAR(plugin->module); + plugin->module = module; gplugin_python_plugin_get_load_func(GPluginPythonPlugin *plugin) {
- GPluginPythonPluginPrivate *priv = NULL;
- g_return_val_if_fail(GPLUGIN_IS_PYTHON_PLUGIN(plugin), NULL);
+ g_return_val_if_fail(GPLUGIN_PYTHON_IS_PLUGIN(plugin), NULL); - priv = gplugin_python_plugin_get_instance_private(plugin);
gplugin_python_plugin_set_load_func(GPluginPythonPlugin *plugin,
- GPluginPythonPluginPrivate *priv = NULL;
- g_return_if_fail(GPLUGIN_IS_PYTHON_PLUGIN(plugin));
+ g_return_if_fail(GPLUGIN_PYTHON_IS_PLUGIN(plugin)); g_return_if_fail(func != NULL);
- priv = gplugin_python_plugin_get_instance_private(plugin);
+ Py_CLEAR(plugin->load); gplugin_python_plugin_get_unload_func(GPluginPythonPlugin *plugin) {
- GPluginPythonPluginPrivate *priv = NULL;
- g_return_val_if_fail(GPLUGIN_IS_PYTHON_PLUGIN(plugin), NULL);
+ g_return_val_if_fail(GPLUGIN_PYTHON_IS_PLUGIN(plugin), NULL); - priv = gplugin_python_plugin_get_instance_private(plugin);
gplugin_python_plugin_set_unload_func(GPluginPythonPlugin *plugin,
- GPluginPythonPluginPrivate *priv = NULL;
- g_return_if_fail(GPLUGIN_IS_PYTHON_PLUGIN(plugin));
+ g_return_if_fail(GPLUGIN_PYTHON_IS_PLUGIN(plugin)); g_return_if_fail(func != NULL);
- priv = gplugin_python_plugin_get_instance_private(plugin);
- Py_CLEAR(priv->unload);
+ Py_CLEAR(plugin->unload); /******************************************************************************
@@ -165,12 +135,10 @@
GPluginPythonPlugin *plugin = GPLUGIN_PYTHON_PLUGIN(obj);
- GPluginPythonPluginPrivate *priv = gplugin_python_plugin_get_instance_private(plugin);
- g_value_set_pointer(value,
- gplugin_python_plugin_get_module(plugin));
+ g_value_set_pointer(value, plugin->module); g_value_set_pointer(value,
@@ -183,16 +151,16 @@
- 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); @@ -206,7 +174,6 @@
const GValue *value, GParamSpec *pspec)
GPluginPythonPlugin *plugin = GPLUGIN_PYTHON_PLUGIN(obj);
- GPluginPythonPluginPrivate *priv = gplugin_python_plugin_get_instance_private(plugin);
@@ -224,16 +191,16 @@
- 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); @@ -244,15 +211,15 @@
gplugin_python_plugin_finalize(GObject *obj) {
- GPluginPythonPluginPrivate *priv = gplugin_python_plugin_get_instance_private(GPLUGIN_PYTHON_PLUGIN(obj));
+ GPluginPythonPlugin *plugin = GPLUGIN_PYTHON_PLUGIN(obj); - Py_CLEAR(priv->module);
- Py_CLEAR(priv->unload);
+ Py_CLEAR(plugin->module); + Py_CLEAR(plugin->load); + Py_CLEAR(plugin->unload); - 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_python_plugin_parent_class)->finalize(obj);
--- a/python/gplugin-python-plugin.h Thu Jul 18 05:50:35 2019 -0500
+++ b/python/gplugin-python-plugin.h Thu Jul 18 06:16:28 2019 -0500
@@ -18,37 +18,15 @@
#ifndef GPLUGIN_PYTHON_PLUGIN_H
#define GPLUGIN_PYTHON_PLUGIN_H
-#define GPLUGIN_TYPE_PYTHON_PLUGIN (gplugin_python_plugin_get_type())
-#define GPLUGIN_PYTHON_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_PYTHON_PLUGIN, GPluginPythonPlugin))
-#define GPLUGIN_PYTHON_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_PYTHON_PLUGIN, GPluginPythonPluginClass))
-#define GPLUGIN_IS_PYTHON_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_PYTHON_PLUGIN))
-#define GPLUGIN_IS_PYTHON_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_PYTHON_PLUGIN))
-#define GPLUGIN_PYTHON_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_PYTHON_PLUGIN, GPluginPythonPluginClass))
-typedef struct _GPluginPythonPlugin GPluginPythonPlugin;
-typedef struct _GPluginPythonPluginClass GPluginPythonPluginClass;
#include <gplugin-native.h>
-struct _GPluginPythonPlugin {
-struct _GPluginPythonPluginClass {
+#define GPLUGIN_TYPE_PYTHON_PLUGIN (gplugin_python_plugin_get_type()) +G_DECLARE_FINAL_TYPE(GPluginPythonPlugin, gplugin_python_plugin, GPLUGIN_PYTHON, PLUGIN, GObject) void gplugin_python_plugin_register(GPluginNativePlugin *native);
-GType gplugin_python_plugin_get_type(void);