gplugin/gplugin

Move the perl loader types to the G_DECLARE_* macros
glib-macros
2019-07-18, Gary Kramlich
6502a3cade24
Parents 9aa2fa244ec0
Children 057d6f2b736c
Move the perl loader types to the G_DECLARE_* macros
--- a/perl/gplugin-perl-loader.c Thu Jul 18 05:42:14 2019 -0500
+++ b/perl/gplugin-perl-loader.c Thu Jul 18 05:50:35 2019 -0500
@@ -26,6 +26,10 @@
#undef _
#include <glib/gi18n.h>
+struct _GPluginPerlLoader {
+ GPluginLoader parent;
+};
+
G_DEFINE_DYNAMIC_TYPE(GPluginPerlLoader, gplugin_perl_loader, GPLUGIN_TYPE_LOADER);
/* I can't believe I have to use this variable name... */
--- a/perl/gplugin-perl-loader.h Thu Jul 18 05:42:14 2019 -0500
+++ b/perl/gplugin-perl-loader.h Thu Jul 18 05:50:35 2019 -0500
@@ -18,37 +18,15 @@
#ifndef GPLUGIN_PERL_LOADER_H
#define GPLUGIN_PERL_LOADER_H
-#define GPLUGIN_TYPE_PERL_LOADER (gplugin_perl_loader_get_type())
-#define GPLUGIN_PERL_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_PERL_LOADER, GPluginPerlLoader))
-#define GPLUGIN_PERL_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_PERL_LOADER, GPluginPerlLoaderClass))
-#define GPLUGIN_IS_PERL_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_PERL_LOADER))
-#define GPLUGIN_IS_PERL_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_PERL_LOADER))
-#define GPLUGIN_PERL_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_PERL_LOADER, GPluginPerlLoaderClass))
-
-typedef struct _GPluginPerlLoader GPluginPerlLoader;
-typedef struct _GPluginPerlLoaderClass GPluginPerlLoaderClass;
-
#include <gplugin.h>
#include <gplugin-native.h>
-struct _GPluginPerlLoader {
- /*< private >*/
- GPluginLoader parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginPerlLoaderClass {
- /*< private >*/
- GPluginLoaderClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_TYPE_PERL_LOADER (gplugin_perl_loader_get_type())
+G_DECLARE_FINAL_TYPE(GPluginPerlLoader, gplugin_perl_loader, GPLUGIN_PERL, LOADER, GPluginLoader)
+
void gplugin_perl_loader_register(GPluginNativePlugin *plugin);
-GType gplugin_perl_loader_get_type(void);
G_END_DECLS
--- a/perl/gplugin-perl-plugin.c Thu Jul 18 05:42:14 2019 -0500
+++ b/perl/gplugin-perl-plugin.c Thu Jul 18 05:50:35 2019 -0500
@@ -29,7 +29,9 @@
/******************************************************************************
* Typedefs
*****************************************************************************/
-typedef struct {
+struct _GPluginPerlPlugin {
+ GObject parent;
+
PerlInterpreter *interpreter;
/* overrides */
@@ -37,7 +39,7 @@
GPluginLoader *loader;
GPluginPluginInfo *info;
GPluginPluginState state;
-} GPluginPerlPluginPrivate;
+};
/******************************************************************************
* Enums
@@ -62,7 +64,6 @@
gplugin_perl_plugin,
G_TYPE_OBJECT,
0,
- G_ADD_PRIVATE_DYNAMIC(GPluginPerlPlugin)
G_IMPLEMENT_INTERFACE(GPLUGIN_TYPE_PLUGIN, gplugin_perl_plugin_iface_init)
);
@@ -75,18 +76,6 @@
}
/******************************************************************************
- * Private Stuff
- *****************************************************************************/
-static void
-gplugin_perl_plugin_set_interpreter(GPluginPerlPlugin *plugin,
- PerlInterpreter *interpreter)
-{
- GPluginPerlPluginPrivate *priv = gplugin_perl_plugin_get_instance_private(plugin);
-
- priv->interpreter = interpreter;
-}
-
-/******************************************************************************
* Object Stuff
*****************************************************************************/
static void
@@ -94,7 +83,6 @@
GParamSpec *pspec)
{
GPluginPerlPlugin *plugin = GPLUGIN_PERL_PLUGIN(obj);
- GPluginPerlPluginPrivate *priv = gplugin_perl_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_INTERPRETER:
@@ -104,16 +92,16 @@
/* overrides */
case PROP_FILENAME:
- g_value_set_string(value, priv->filename);
+ g_value_set_string(value, plugin->filename);
break;
case PROP_LOADER:
- g_value_set_object(value, priv->loader);
+ g_value_set_object(value, plugin->loader);
break;
case PROP_INFO:
- g_value_set_object(value, priv->info);
+ g_value_set_object(value, plugin->info);
break;
case PROP_STATE:
- g_value_set_enum(value, priv->state);
+ g_value_set_enum(value, plugin->state);
break;
default:
@@ -127,26 +115,24 @@
const GValue *value, GParamSpec *pspec)
{
GPluginPerlPlugin *plugin = GPLUGIN_PERL_PLUGIN(obj);
- GPluginPerlPluginPrivate *priv = gplugin_perl_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_INTERPRETER:
- gplugin_perl_plugin_set_interpreter(plugin,
- g_value_get_pointer(value));
+ plugin->interpreter = g_value_get_pointer(value);
break;
/* overrides */
case PROP_FILENAME:
- priv->filename = g_value_dup_string(value);
+ plugin->filename = g_value_dup_string(value);
break;
case PROP_LOADER:
- priv->loader = g_value_dup_object(value);
+ plugin->loader = g_value_dup_object(value);
break;
case PROP_INFO:
- priv->info = g_value_dup_object(value);
+ plugin->info = g_value_dup_object(value);
break;
case PROP_STATE:
- priv->state = g_value_get_enum(value);
+ plugin->state = g_value_get_enum(value);
break;
default:
@@ -156,15 +142,15 @@
static void
gplugin_perl_plugin_finalize(GObject *obj) {
- GPluginPerlPluginPrivate *priv = gplugin_perl_plugin_get_instance_private(GPLUGIN_PERL_PLUGIN(obj));
+ GPluginPerlPlugin *plugin = GPLUGIN_PERL_PLUGIN(obj);
- perl_destruct(priv->interpreter);
- perl_free(priv->interpreter);
- priv->interpreter = NULL;
+ perl_destruct(plugin->interpreter);
+ perl_free(plugin->interpreter);
+ plugin->interpreter = NULL;
- 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_perl_plugin_parent_class)->finalize(obj);
}
@@ -213,11 +199,7 @@
PerlInterpreter *
gplugin_perl_plugin_get_interpreter(GPluginPerlPlugin *plugin) {
- GPluginPerlPluginPrivate *priv = NULL;
-
- g_return_val_if_fail(GPLUGIN_IS_PERL_PLUGIN(plugin), NULL);
+ g_return_val_if_fail(GPLUGIN_PERL_IS_PLUGIN(plugin), NULL);
- priv = gplugin_perl_plugin_get_instance_private(plugin);
-
- return priv->interpreter;
+ return plugin->interpreter;
}
--- a/perl/gplugin-perl-plugin.h Thu Jul 18 05:42:14 2019 -0500
+++ b/perl/gplugin-perl-plugin.h Thu Jul 18 05:50:35 2019 -0500
@@ -18,16 +18,6 @@
#ifndef GPLUGIN_PERL_PLUGIN_H
#define GPLUGIN_PERL_PLUGIN_H
-#define GPLUGIN_TYPE_PERL_PLUGIN (gplugin_perl_plugin_get_type())
-#define GPLUGIN_PERL_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_PERL_PLUGIN, GPluginPerlPlugin))
-#define GPLUGIN_PERL_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_PERL_PLUGIN, GPluginPerlPluginClass))
-#define GPLUGIN_IS_PERL_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_PERL_PLUGIN))
-#define GPLUGIN_IS_PERL_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_PERL_PLUGIN))
-#define GPLUGIN_PERL_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_PERL_PLUGIN, GPluginPerlPluginClass))
-
-typedef struct _GPluginPerlPlugin GPluginPerlPlugin;
-typedef struct _GPluginPerlPluginClass GPluginPerlPluginClass;
-
#include <gplugin.h>
#include <gplugin-native.h>
@@ -35,24 +25,12 @@
#include <perl.h>
#undef _
-struct _GPluginPerlPlugin {
- /*< private >*/
- GObject parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginPerlPluginClass {
- /*< private >*/
- GObjectClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_TYPE_PERL_PLUGIN (gplugin_perl_plugin_get_type())
+G_DECLARE_FINAL_TYPE(GPluginPerlPlugin, gplugin_perl_plugin, GPLUGIN_PERL, PLUGIN, GObject)
+
void gplugin_perl_plugin_register(GPluginNativePlugin *native);
-GType gplugin_perl_plugin_get_type(void);
PerlInterpreter *gplugin_perl_plugin_get_interpreter(GPluginPerlPlugin *plugin);