gplugin/gplugin

Move the lua types to the G_DECLARE_* macros
glib-macros
2019-07-18, Gary Kramlich
9aa2fa244ec0
Parents 879f665c7aeb
Children 6502a3cade24
Move the lua types to the G_DECLARE_* macros
--- a/lua/gplugin-lua-loader.c Thu Jul 18 05:29:34 2019 -0500
+++ b/lua/gplugin-lua-loader.c Thu Jul 18 05:42:14 2019 -0500
@@ -25,6 +25,10 @@
#include <lauxlib.h>
#include <lualib.h>
+struct _GPluginLuaLoader {
+ GPluginLoader parent;
+};
+
G_DEFINE_DYNAMIC_TYPE(GPluginLuaLoader, gplugin_lua_loader, GPLUGIN_TYPE_LOADER);
/******************************************************************************
--- a/lua/gplugin-lua-loader.h Thu Jul 18 05:29:34 2019 -0500
+++ b/lua/gplugin-lua-loader.h Thu Jul 18 05:42:14 2019 -0500
@@ -18,37 +18,15 @@
#ifndef GPLUGIN_LUA_LOADER_H
#define GPLUGIN_LUA_LOADER_H
-#define GPLUGIN_TYPE_LUA_LOADER (gplugin_lua_loader_get_type())
-#define GPLUGIN_LUA_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_LUA_LOADER, GPluginLuaLoader))
-#define GPLUGIN_LUA_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_LUA_LOADER, GPluginLuaLoaderClass))
-#define GPLUGIN_IS_LUA_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_LUA_LOADER))
-#define GPLUGIN_IS_LUA_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_LUA_LOADER))
-#define GPLUGIN_LUA_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_LUA_LOADER, GPluginLuaLoaderClass))
-
-typedef struct _GPluginLuaLoader GPluginLuaLoader;
-typedef struct _GPluginLuaLoaderClass GPluginLuaLoaderClass;
-
#include <gplugin.h>
#include <gplugin-native.h>
-struct _GPluginLuaLoader {
- /*< private >*/
- GPluginLoader parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginLuaLoaderClass {
- /*< private >*/
- GPluginLoaderClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_TYPE_LUA_LOADER (gplugin_lua_loader_get_type())
+G_DECLARE_FINAL_TYPE(GPluginLuaLoader, gplugin_lua_loader, GPLUGIN_LUA, LOADER, GPluginLoader)
+
void gplugin_lua_loader_register(GPluginNativePlugin *plugin);
-GType gplugin_lua_loader_get_type(void);
G_END_DECLS
--- a/lua/gplugin-lua-plugin.c Thu Jul 18 05:29:34 2019 -0500
+++ b/lua/gplugin-lua-plugin.c Thu Jul 18 05:42:14 2019 -0500
@@ -22,14 +22,16 @@
/******************************************************************************
* Typedefs
*****************************************************************************/
-typedef struct {
+struct _GPluginLuaPlugin {
+ GObject parent;
+
lua_State *L;
gchar *filename;
GPluginLoader *loader;
GPluginPluginInfo *info;
GPluginPluginState state;
-} GPluginLuaPluginPrivate;
+};
/******************************************************************************
* Enums
@@ -54,7 +56,6 @@
gplugin_lua_plugin,
G_TYPE_OBJECT,
0,
- G_ADD_PRIVATE_DYNAMIC(GPluginLuaPlugin)
G_IMPLEMENT_INTERFACE(GPLUGIN_TYPE_PLUGIN, gplugin_lua_plugin_iface_init)
);
@@ -73,25 +74,24 @@
GParamSpec *pspec)
{
GPluginLuaPlugin *plugin = GPLUGIN_LUA_PLUGIN(obj);
- GPluginLuaPluginPrivate *priv = gplugin_lua_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_LUA_STATE:
- g_value_set_pointer(value, priv->L);
+ g_value_set_pointer(value, plugin->L);
break;
/* 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:
@@ -105,25 +105,24 @@
const GValue *value, GParamSpec *pspec)
{
GPluginLuaPlugin *plugin = GPLUGIN_LUA_PLUGIN(obj);
- GPluginLuaPluginPrivate *priv = gplugin_lua_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_LUA_STATE:
- priv->L = g_value_get_pointer(value);
+ plugin->L = 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:
@@ -134,12 +133,12 @@
static void
gplugin_lua_plugin_finalize(GObject *obj) {
- GPluginLuaPluginPrivate *priv = gplugin_lua_plugin_get_instance_private(GPLUGIN_LUA_PLUGIN(obj));
+ GPluginLuaPlugin *plugin = GPLUGIN_LUA_PLUGIN(obj);
- g_clear_pointer(&priv->L, lua_close);
- g_clear_pointer(&priv->filename, g_free);
- g_clear_object(&priv->loader);
- g_clear_object(&priv->info);
+ g_clear_pointer(&plugin->L, lua_close);
+ g_clear_pointer(&plugin->filename, g_free);
+ g_clear_object(&plugin->loader);
+ g_clear_object(&plugin->info);
G_OBJECT_CLASS(gplugin_lua_plugin_parent_class)->finalize(obj);
}
@@ -185,11 +184,7 @@
lua_State *
gplugin_lua_plugin_get_state(GPluginLuaPlugin *plugin) {
- GPluginLuaPluginPrivate *priv = NULL;
-
- g_return_val_if_fail(GPLUGIN_IS_LUA_PLUGIN(plugin), NULL);
+ g_return_val_if_fail(GPLUGIN_LUA_IS_PLUGIN(plugin), NULL);
- priv = gplugin_lua_plugin_get_instance_private(plugin);
-
- return priv->L;
+ return plugin->L;
}
--- a/lua/gplugin-lua-plugin.h Thu Jul 18 05:29:34 2019 -0500
+++ b/lua/gplugin-lua-plugin.h Thu Jul 18 05:42:14 2019 -0500
@@ -18,39 +18,17 @@
#ifndef GPLUGIN_LUA_PLUGIN_H
#define GPLUGIN_LUA_PLUGIN_H
-#define GPLUGIN_TYPE_LUA_PLUGIN (gplugin_lua_plugin_get_type())
-#define GPLUGIN_LUA_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_LUA_PLUGIN, GPluginLuaPlugin))
-#define GPLUGIN_LUA_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_LUA_PLUGIN, GPluginLuaPluginClass))
-#define GPLUGIN_IS_LUA_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_LUA_PLUGIN))
-#define GPLUGIN_IS_LUA_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_LUA_PLUGIN))
-#define GPLUGIN_LUA_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_LUA_PLUGIN, GPluginLuaPluginClass))
-
-typedef struct _GPluginLuaPlugin GPluginLuaPlugin;
-typedef struct _GPluginLuaPluginClass GPluginLuaPluginClass;
-
#include <gplugin.h>
#include <gplugin-native.h>
#include <lua.h>
-struct _GPluginLuaPlugin {
- /*< private >*/
- GObject parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginLuaPluginClass {
- /*< private >*/
- GObjectClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_TYPE_LUA_PLUGIN (gplugin_lua_plugin_get_type())
+G_DECLARE_FINAL_TYPE(GPluginLuaPlugin, gplugin_lua_plugin, GPLUGIN_LUA, PLUGIN, GObject)
+
void gplugin_lua_plugin_register(GPluginNativePlugin *native);
-GType gplugin_lua_plugin_get_type(void);
lua_State *gplugin_lua_plugin_get_state(GPluginLuaPlugin *plugin);