gplugin/gplugin

Move the tcc type to the G_DECLARE_* macros
glib-macros
2019-07-18, Gary Kramlich
50c6c92c9e0d
Parents 057d6f2b736c
Children 5f2f732da307
Move the tcc type to the G_DECLARE_* macros
--- a/tcc/gplugin-tcc-loader.c Thu Jul 18 06:16:28 2019 -0500
+++ b/tcc/gplugin-tcc-loader.c Thu Jul 18 06:23:54 2019 -0500
@@ -23,6 +23,10 @@
#include <libtcc.h>
+struct _GPluginTccLoader {
+ GPluginLoader parent;
+};
+
G_DEFINE_DYNAMIC_TYPE(GPluginTccLoader, gplugin_tcc_loader, GPLUGIN_TYPE_LOADER);
/******************************************************************************
--- a/tcc/gplugin-tcc-loader.h Thu Jul 18 06:16:28 2019 -0500
+++ b/tcc/gplugin-tcc-loader.h Thu Jul 18 06:23:54 2019 -0500
@@ -17,37 +17,15 @@
#ifndef GPLUGIN_TCC_LOADER_H
#define GPLUGIN_TCC_LOADER_H
-#define GPLUGIN_TYPE_TCC_LOADER (gplugin_tcc_loader_get_type())
-#define GPLUGIN_TCC_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_TCC_LOADER, GPluginTccLoader))
-#define GPLUGIN_TCC_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_TCC_LOADER, GPluginTccLoaderClass))
-#define GPLUGIN_IS_TCC_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_TCC_LOADER))
-#define GPLUGIN_IS_TCC_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_TCC_LOADER))
-#define GPLUGIN_TCC_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_TCC_LOADER, GPluginTccLoaderClass))
-
-typedef struct _GPluginTccLoader GPluginTccLoader;
-typedef struct _GPluginTccLoaderClass GPluginTccLoaderClass;
-
#include <gplugin.h>
#include <gplugin-native.h>
-struct _GPluginTccLoader {
- /*< private >*/
- GPluginLoader parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginTccLoaderClass {
- /*< private >*/
- GPluginLoaderClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_TYPE_TCC_LOADER (gplugin_tcc_loader_get_type())
+G_DECLARE_FINAL_TYPE(GPluginTccLoader, gplugin_tcc_loader, GPLUGIN_TCC, LOADER, GPluginLoader)
+
void gplugin_tcc_loader_register(GPluginNativePlugin *plugin);
-GType gplugin_tcc_loader_get_type(void);
G_END_DECLS
--- a/tcc/gplugin-tcc-plugin.c Thu Jul 18 06:16:28 2019 -0500
+++ b/tcc/gplugin-tcc-plugin.c Thu Jul 18 06:23:54 2019 -0500
@@ -22,7 +22,9 @@
/******************************************************************************
* Typedefs
*****************************************************************************/
-typedef struct {
+struct _GPluginTccPlugin {
+ GObject parent;
+
TCCState *s;
gpointer mem;
@@ -30,7 +32,7 @@
GPluginLoader *loader;
GPluginPluginInfo *info;
GPluginPluginState state;
-} GPluginTccPluginPrivate;
+};
/******************************************************************************
* Enums
@@ -57,7 +59,6 @@
gplugin_tcc_plugin,
G_TYPE_OBJECT,
0,
- G_ADD_PRIVATE_DYNAMIC(GPluginTccPlugin)
G_IMPLEMENT_INTERFACE(GPLUGIN_TYPE_PLUGIN, gplugin_tcc_plugin_iface_init)
);
@@ -77,7 +78,6 @@
GParamSpec *pspec)
{
GPluginTccPlugin *plugin = GPLUGIN_TCC_PLUGIN(obj);
- GPluginTccPluginPrivate *priv = gplugin_tcc_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_TCC_STATE:
@@ -87,16 +87,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:
@@ -110,28 +110,27 @@
const GValue *value, GParamSpec *pspec)
{
GPluginTccPlugin *plugin = GPLUGIN_TCC_PLUGIN(obj);
- GPluginTccPluginPrivate *priv = gplugin_tcc_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_TCC_STATE:
- priv->s = g_value_get_pointer(value);
+ plugin->s = g_value_get_pointer(value);
break;
case PROP_MEM:
- priv->mem = g_value_get_pointer(value);
+ plugin->mem = 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:
@@ -142,14 +141,14 @@
static void
gplugin_tcc_plugin_finalize(GObject *obj) {
- GPluginTccPluginPrivate *priv = gplugin_tcc_plugin_get_instance_private(GPLUGIN_TCC_PLUGIN(obj));
+ GPluginTccPlugin *plugin = GPLUGIN_TCC_PLUGIN(obj);
- g_clear_pointer(&priv->s, tcc_delete);
- g_clear_pointer(&priv->mem, g_free);
+ g_clear_pointer(&plugin->s, tcc_delete);
+ g_clear_pointer(&plugin->mem, g_free);
- 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_tcc_plugin_parent_class)->finalize(obj);
}
@@ -201,12 +200,8 @@
TCCState *
gplugin_tcc_plugin_get_state(GPluginTccPlugin *plugin) {
- GPluginTccPluginPrivate *priv = NULL;
-
- g_return_val_if_fail(GPLUGIN_IS_TCC_PLUGIN(plugin), NULL);
+ g_return_val_if_fail(GPLUGIN_TCC_IS_PLUGIN(plugin), NULL);
- priv = gplugin_tcc_plugin_get_instance_private(plugin);
-
- return priv->s;
+ return plugin->s;
}
--- a/tcc/gplugin-tcc-plugin.h Thu Jul 18 06:16:28 2019 -0500
+++ b/tcc/gplugin-tcc-plugin.h Thu Jul 18 06:23:54 2019 -0500
@@ -17,39 +17,17 @@
#ifndef GPLUGIN_TCC_PLUGIN_H
#define GPLUGIN_TCC_PLUGIN_H
-#define GPLUGIN_TYPE_TCC_PLUGIN (gplugin_tcc_plugin_get_type())
-#define GPLUGIN_TCC_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_TCC_PLUGIN, GPluginTccPlugin))
-#define GPLUGIN_TCC_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_TCC_PLUGIN, GPluginTccPluginClass))
-#define GPLUGIN_IS_TCC_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_TCC_PLUGIN))
-#define GPLUGIN_IS_TCC_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_TCC_PLUGIN))
-#define GPLUGIN_TCC_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_TCC_PLUGIN, GPluginTccPluginClass))
-
-typedef struct _GPluginTccPlugin GPluginTccPlugin;
-typedef struct _GPluginTccPluginClass GPluginTccPluginClass;
-
#include <gplugin.h>
#include <gplugin-native.h>
#include <libtcc.h>
-struct _GPluginTccPlugin {
- /*< private >*/
- GObject parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginTccPluginClass {
- /*< private >*/
- GObjectClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_TYPE_TCC_PLUGIN (gplugin_tcc_plugin_get_type())
+G_DECLARE_FINAL_TYPE(GPluginTccPlugin, gplugin_tcc_plugin, GPLUGIN_TCC, PLUGIN, GObject)
+
void gplugin_tcc_plugin_register(GPluginNativePlugin *native);
-GType gplugin_tcc_plugin_get_type(void);
TCCState *gplugin_tcc_plugin_get_state(GPluginTccPlugin *plugin);