gplugin/gplugin

Merged in glib-macros (pull request #22)
develop
2019-07-26, Gary Kramlich
f97f8915a7b9
Merged in glib-macros (pull request #22)

Glib macros... Finally...

Approved-by: Elliott Sales de Andrade
--- a/gplugin-gtk-viewer/gplugin-gtk-viewer-window.c Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk-viewer/gplugin-gtk-viewer-window.c Fri Jul 26 01:19:15 2019 +0000
@@ -19,6 +19,10 @@
#include "gplugin-gtk-viewer-window.h"
+struct _GPluginGtkViewerWindow {
+ GtkWindow parent;
+};
+
G_DEFINE_TYPE(GPluginGtkViewerWindow, gplugin_gtk_viewer_window, GTK_TYPE_WINDOW)
/******************************************************************************
@@ -42,7 +46,7 @@
*****************************************************************************/
GtkWidget *gplugin_gtk_viewer_window_new(void) {
return GTK_WIDGET(g_object_new(
- GPLUGIN_GTK_TYPE_VIEWER_WINDOW,
+ GPLUGIN_GTK_VIEWER_TYPE_WINDOW,
NULL
));
}
--- a/gplugin-gtk-viewer/gplugin-gtk-viewer-window.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk-viewer/gplugin-gtk-viewer-window.h Fri Jul 26 01:19:15 2019 +0000
@@ -19,39 +19,16 @@
#ifndef GPLUGIN_GTK_VIEWER_WINDOW_H
#define GPLUGIN_GTK_VIEWER_WINDOW_H
-#include <gtk/gtk.h>
-
-#define GPLUGIN_GTK_TYPE_VIEWER_WINDOW (gplugin_gtk_viewer_window_get_type())
-#define GPLUGIN_GTK_VIEWER_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_GTK_TYPE_VIEWER_WINDOW, GPluginGtkViewerWindow))
-#define GPLUGIN_GTK_VIEWER_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLUGIN_GTK_TYPE_VIEWER_WINDOW, GPluginGtkViewerWindowClass))
-#define GPLUGIN_GTK_IS_VIEWER_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_GTK_TYPE_VIEWER_WINDOW))
-#define GPLUGIN_GTK_IS_VIEWER_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLUGIN_GTK_TYPE_VIEWER_WINDOW))
-#define GPLUGIN_GTK_VIEWER_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_GTK_TYPE_VIEWER_WINDOW, GPluginGtkViewerWindowClass))
-
-typedef struct _GPluginGtkViewerWindow GPluginGtkViewerWindow;
-typedef struct _GPluginGtkViewerWindowClass GPluginGtkViewerWindowClass;
-
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
-struct _GPluginGtkViewerWindow {
- GtkWindow parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginGtkViewerWindowClass {
- GtkWindowClass parent;
-
- gpointer reserved[4];
-};
+#define GPLUGIN_GTK_VIEWER_TYPE_WINDOW (gplugin_gtk_viewer_window_get_type())
+G_DECLARE_FINAL_TYPE(GPluginGtkViewerWindow, gplugin_gtk_viewer_window, GPLUGIN_GTK_VIEWER, WINDOW, GtkWindow)
G_BEGIN_DECLS
-GType gplugin_gtk_viewer_window_get_type(void);
-
GtkWidget *gplugin_gtk_viewer_window_new(void);
G_END_DECLS
--- a/gplugin-gtk/gplugin-gtk-plugin-info.c Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk/gplugin-gtk-plugin-info.c Fri Jul 26 01:19:15 2019 +0000
@@ -30,7 +30,9 @@
/******************************************************************************
* Structs
*****************************************************************************/
-typedef struct {
+struct _GPluginGtkPluginInfo {
+ GtkBox parent;
+
GPluginPlugin *plugin;
GtkWidget *name;
@@ -47,7 +49,7 @@
GtkWidget *loader;
GtkWidget *internal;
GtkWidget *load_on_query;
-} GPluginGtkPluginInfoPrivate;
+};
/*****************************************************************************s
* Enums
@@ -59,7 +61,7 @@
};
static GParamSpec *properties[N_PROPERTIES] = {NULL,};
-G_DEFINE_TYPE_WITH_PRIVATE(GPluginGtkPluginInfo, gplugin_gtk_plugin_info, GTK_TYPE_BOX);
+G_DEFINE_TYPE(GPluginGtkPluginInfo, gplugin_gtk_plugin_info, GTK_TYPE_BOX);
/******************************************************************************
* Callbacks
@@ -78,7 +80,7 @@
* Helpers
*****************************************************************************/
static void
-_gplugin_gtk_plugin_info_refresh(GPluginGtkPluginInfoPrivate *priv,
+_gplugin_gtk_plugin_info_refresh(GPluginGtkPluginInfo *info,
GPluginPlugin *plugin)
{
GtkWidget *widget = NULL;
@@ -93,7 +95,7 @@
const gchar *filename = NULL;
/* remove all the children from the authors box */
- children = gtk_container_get_children(GTK_CONTAINER(priv->authors_box));
+ children = gtk_container_get_children(GTK_CONTAINER(info->authors_box));
for(iter = children; iter; iter = iter->next)
gtk_widget_destroy(GTK_WIDGET(iter->data));
g_list_free(children);
@@ -145,17 +147,17 @@
g_object_unref(G_OBJECT(plugin_info));
}
- gtk_label_set_markup(GTK_LABEL(priv->name), (name) ? name : "Unnamed");
- gtk_label_set_text(GTK_LABEL(priv->version), (version) ? version : "");
- gtk_label_set_markup(GTK_LABEL(priv->website), (website) ? website : "");
- gtk_label_set_text(GTK_LABEL(priv->summary), (summary) ? summary : "");
- gtk_label_set_text(GTK_LABEL(priv->description), (description) ? description : "");
- gtk_label_set_text(GTK_LABEL(priv->id), (id) ? id : "");
- gtk_label_set_text(GTK_LABEL(priv->filename), (filename) ? filename : "");
- gtk_label_set_text(GTK_LABEL(priv->abi_version), (abi_version) ? abi_version : "");
- gtk_label_set_text(GTK_LABEL(priv->loader), (loader) ? loader : "Unknown");
- gtk_label_set_text(GTK_LABEL(priv->internal), (internal) ? "Yes" : "No");
- gtk_label_set_text(GTK_LABEL(priv->load_on_query), (loq) ? "Yes" : "No");
+ gtk_label_set_markup(GTK_LABEL(info->name), (name) ? name : "Unnamed");
+ gtk_label_set_text(GTK_LABEL(info->version), (version) ? version : "");
+ gtk_label_set_markup(GTK_LABEL(info->website), (website) ? website : "");
+ gtk_label_set_text(GTK_LABEL(info->summary), (summary) ? summary : "");
+ gtk_label_set_text(GTK_LABEL(info->description), (description) ? description : "");
+ gtk_label_set_text(GTK_LABEL(info->id), (id) ? id : "");
+ gtk_label_set_text(GTK_LABEL(info->filename), (filename) ? filename : "");
+ gtk_label_set_text(GTK_LABEL(info->abi_version), (abi_version) ? abi_version : "");
+ gtk_label_set_text(GTK_LABEL(info->loader), (loader) ? loader : "Unknown");
+ gtk_label_set_text(GTK_LABEL(info->internal), (internal) ? "Yes" : "No");
+ gtk_label_set_text(GTK_LABEL(info->load_on_query), (loq) ? "Yes" : "No");
g_free(description);
g_free(id);
@@ -172,7 +174,7 @@
widget = gtk_label_new(authors[i]);
gtk_widget_set_halign(widget, GTK_ALIGN_START);
gtk_widget_set_valign(widget, GTK_ALIGN_START);
- gtk_box_pack_start(GTK_BOX(priv->authors_box), widget, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(info->authors_box), widget, TRUE, TRUE, 0);
gtk_widget_show(widget);
}
}
@@ -217,9 +219,9 @@
static void
gplugin_gtk_plugin_info_finalize(GObject *obj) {
- GPluginGtkPluginInfoPrivate *priv = gplugin_gtk_plugin_info_get_instance_private(GPLUGIN_GTK_PLUGIN_INFO(obj));
+ GPluginGtkPluginInfo *info = GPLUGIN_GTK_PLUGIN_INFO(obj);
- g_clear_object(&priv->plugin);
+ g_clear_object(&info->plugin);
G_OBJECT_CLASS(gplugin_gtk_plugin_info_parent_class)->finalize(obj);
}
@@ -252,20 +254,20 @@
"/org/bitbucket/gplugin/gplugin-gtk/plugin-info.ui"
);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, name);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, version);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, authors_box);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, website);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, summary);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, description);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, dependencies);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, expander);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, id);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, filename);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, abi_version);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, loader);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, internal);
- gtk_widget_class_bind_template_child_private(widget_class, GPluginGtkPluginInfo, load_on_query);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, name);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, version);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, authors_box);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, website);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, summary);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, description);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, dependencies);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, expander);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, id);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, filename);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, abi_version);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, loader);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, internal);
+ gtk_widget_class_bind_template_child(widget_class, GPluginGtkPluginInfo, load_on_query);
gtk_widget_class_bind_template_callback(widget_class, gplugin_gtk_plugin_info_expander_activate);
}
@@ -300,22 +302,19 @@
gplugin_gtk_plugin_info_set_plugin(GPluginGtkPluginInfo *info,
GPluginPlugin *plugin)
{
- GPluginGtkPluginInfoPrivate *priv = NULL;
GPluginPlugin *orig_plugin;
g_return_if_fail(GPLUGIN_GTK_IS_PLUGIN_INFO(info));
- priv = gplugin_gtk_plugin_info_get_instance_private(info);
-
- orig_plugin = priv->plugin;
+ orig_plugin = info->plugin;
if(GPLUGIN_IS_PLUGIN(plugin)) {
- priv->plugin = GPLUGIN_PLUGIN(g_object_ref(G_OBJECT(plugin)));
+ info->plugin = GPLUGIN_PLUGIN(g_object_ref(G_OBJECT(plugin)));
} else {
- priv->plugin = NULL;
+ info->plugin = NULL;
}
g_object_unref(G_OBJECT(orig_plugin));
- _gplugin_gtk_plugin_info_refresh(priv, plugin);
+ _gplugin_gtk_plugin_info_refresh(info, plugin);
}
/**
@@ -329,11 +328,7 @@
*/
GPluginPlugin *
gplugin_gtk_plugin_info_get_plugin(GPluginGtkPluginInfo *info) {
- GPluginGtkPluginInfoPrivate *priv = NULL;
-
g_return_val_if_fail(GPLUGIN_GTK_IS_PLUGIN_INFO(info), NULL);
- priv = gplugin_gtk_plugin_info_get_instance_private(info);
-
- return (priv->plugin) ? GPLUGIN_PLUGIN(g_object_ref(G_OBJECT(priv->plugin))) : NULL;
+ return (info->plugin) ? GPLUGIN_PLUGIN(g_object_ref(G_OBJECT(info->plugin))) : NULL;
}
--- a/gplugin-gtk/gplugin-gtk-plugin-info.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk/gplugin-gtk-plugin-info.h Fri Jul 26 01:19:15 2019 +0000
@@ -22,16 +22,6 @@
#ifndef GPLUGIN_GTK_PLUGIN_INFO_H
#define GPLUGIN_GTK_PLUGIN_INFO_H
-#define GPLUGIN_GTK_TYPE_PLUGIN_INFO (gplugin_gtk_plugin_info_get_type())
-#define GPLUGIN_GTK_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_GTK_TYPE_PLUGIN_INFO, GPluginGtkPluginInfo))
-#define GPLUGIN_GTK_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLUGIN_GTK_TYPE_PLUGIN_INFO, GPluginGtkPluginInfoClass))
-#define GPLUGIN_GTK_IS_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_GTK_TYPE_PLUGIN_INFO))
-#define GPLUGIN_GTK_IS_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLUGIN_GTK_TYPE_PLUGIN_INFO))
-#define GPLUING_GTK_PLUGIN_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_GTK_TYPE_PLUGIN_INFO, GPluginGtkPluginInfoClass))
-
-typedef struct _GPluginGtkPluginInfo GPluginGtkPluginInfo;
-typedef struct _GPluginGtkPluginInfoClass GPluginGtkPluginInfoClass;
-
#include <glib.h>
#include <glib-object.h>
@@ -39,21 +29,10 @@
#include <gplugin/gplugin.h>
-struct _GPluginGtkPluginInfo {
- GtkFrame parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginGtkPluginInfoClass {
- GtkFrameClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
-GType gplugin_gtk_plugin_info_get_type(void);
+#define GPLUGIN_GTK_TYPE_PLUGIN_INFO (gplugin_gtk_plugin_info_get_type())
+G_DECLARE_FINAL_TYPE(GPluginGtkPluginInfo, gplugin_gtk_plugin_info, GPLUGIN_GTK, PLUGIN_INFO, GtkBox)
GtkWidget *gplugin_gtk_plugin_info_new(void);
--- a/gplugin-gtk/gplugin-gtk-store.c Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk/gplugin-gtk-store.c Fri Jul 26 01:19:15 2019 +0000
@@ -27,6 +27,10 @@
* #GPluginGtkStore is a GtkTreeModel populated with gplugins.
*/
+struct _GPluginGtkStore {
+ GtkListStore parent;
+};
+
G_DEFINE_TYPE(GPluginGtkStore, gplugin_gtk_store, GTK_TYPE_LIST_STORE);
/******************************************************************************
--- a/gplugin-gtk/gplugin-gtk-store.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk/gplugin-gtk-store.h Fri Jul 26 01:19:15 2019 +0000
@@ -22,32 +22,15 @@
#ifndef GPLUGIN_GTK_STORE_H
#define GPLUGIN_GTK_STORE_H
-#define GPLUGIN_GTK_TYPE_STORE (gplugin_gtk_store_get_type())
-#define GPLUGIN_GTK_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_GTK_TYPE_STORE, GPluginGtkStore))
-#define GPLUGIN_GTK_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLUGIN_GTK_TYPE_STORE, GPluginGtkStoreClass))
-#define GPLUGIN_GTK_IS_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_GTK_TYPE_STORE))
-#define GPLUGIN_GTK_IS_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLUGIN_GTK_TYPE_STORE))
-#define GPLUING_GTK_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_GTK_TYPE_STORE, GPluginGtkStoreClass))
-
-typedef struct _GPluginGtkStore GPluginGtkStore;
-typedef struct _GPluginGtkStoreClass GPluginGtkStoreClass;
-
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
-struct _GPluginGtkStore {
- GtkListStore parent;
-
- gpointer reserved[4];
-};
+G_BEGIN_DECLS
-struct _GPluginGtkStoreClass {
- GtkListStoreClass parent;
-
- gpointer reserved[4];
-};
+#define GPLUGIN_GTK_TYPE_STORE (gplugin_gtk_store_get_type())
+G_DECLARE_FINAL_TYPE(GPluginGtkStore, gplugin_gtk_store, GPLUGIN_GTK, STORE, GtkListStore)
typedef enum {
GPLUGIN_GTK_STORE_LOADED_COLUMN,
@@ -56,11 +39,6 @@
GPLUGIN_GTK_STORE_N_COLUMNS,
} GPluginGtkStoreColumns;
-
-G_BEGIN_DECLS
-
-GType gplugin_gtk_store_get_type(void);
-
GPluginGtkStore *gplugin_gtk_store_new(void);
const GType *gplugin_gtk_get_store_column_types(void);
--- a/gplugin-gtk/gplugin-gtk-view.c Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk/gplugin-gtk-view.c Fri Jul 26 01:19:15 2019 +0000
@@ -29,9 +29,11 @@
/******************************************************************************
* Structs
*****************************************************************************/
-typedef struct {
+struct _GPluginGtkView {
+ GtkTreeView parent;
+
gboolean show_internal;
-} GPluginGtkViewPrivate;
+};
/******************************************************************************
* Enums
@@ -46,7 +48,7 @@
/******************************************************************************
* GObject Stuff
*****************************************************************************/
-G_DEFINE_TYPE_WITH_PRIVATE(GPluginGtkView, gplugin_gtk_view, GTK_TYPE_TREE_VIEW);
+G_DEFINE_TYPE(GPluginGtkView, gplugin_gtk_view, GTK_TYPE_TREE_VIEW);
static void
gplugin_gtk_view_set_property(GObject *obj, guint prop_id, const GValue *value,
@@ -187,13 +189,9 @@
gplugin_gtk_view_set_show_internal(GPluginGtkView *view,
gboolean show_internal)
{
- GPluginGtkViewPrivate *priv = NULL;
-
g_return_if_fail(GPLUGIN_GTK_IS_VIEW(view));
- priv = gplugin_gtk_view_get_instance_private(view);
-
- priv->show_internal = show_internal;
+ view->show_internal = show_internal;
g_object_notify(G_OBJECT(view), "show-internal");
}
@@ -206,12 +204,8 @@
*/
gboolean
gplugin_gtk_view_get_show_internal(GPluginGtkView *view) {
- GPluginGtkViewPrivate *priv = NULL;
-
g_return_val_if_fail(GPLUGIN_GTK_IS_VIEW(view), FALSE);
- priv = gplugin_gtk_view_get_instance_private(view);
-
- return priv->show_internal;
+ return view->show_internal;
}
--- a/gplugin-gtk/gplugin-gtk-view.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin-gtk/gplugin-gtk-view.h Fri Jul 26 01:19:15 2019 +0000
@@ -22,36 +22,15 @@
#ifndef GPLUGIN_GTK_VIEW_H
#define GPLUGIN_GTK_VIEW_H
-#define GPLUGIN_GTK_TYPE_VIEW (gplugin_gtk_view_get_type())
-#define GPLUGIN_GTK_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_GTK_TYPE_VIEW, GPluginGtkView))
-#define GPLUGIN_GTK_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLUGIN_GTK_TYPE_VIEW, GPluginGtkViewClass))
-#define GPLUGIN_GTK_IS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_GTK_TYPE_VIEW))
-#define GPLUGIN_GTK_IS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLUGIN_GTK_TYPE_VIEW))
-#define GPLUING_GTK_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_GTK_TYPE_VIEW, GPluginGtkViewClass))
-
-typedef struct _GPluginGtkView GPluginGtkView;
-typedef struct _GPluginGtkViewClass GPluginGtkViewClass;
-
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
-struct _GPluginGtkView {
- GtkTreeView parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginGtkViewClass {
- GtkTreeViewClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
-GType gplugin_gtk_view_get_type(void);
+#define GPLUGIN_GTK_TYPE_VIEW (gplugin_gtk_view_get_type())
+G_DECLARE_FINAL_TYPE(GPluginGtkView, gplugin_gtk_view, GPLUGIN_GTK, VIEW, GtkTreeView)
GtkWidget *gplugin_gtk_view_new(void);
--- a/gplugin/gplugin-loader.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-loader.h Fri Jul 26 01:19:15 2019 +0000
@@ -22,26 +22,16 @@
#ifndef GPLUGIN_LOADER_H
#define GPLUGIN_LOADER_H
-#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 <glib.h>
#include <glib-object.h>
-#include <gplugin/gplugin-plugin.h>
+G_BEGIN_DECLS
-struct _GPluginLoader {
- GObject gparent;
+#define GPLUGIN_TYPE_LOADER (gplugin_loader_get_type())
+G_DECLARE_DERIVABLE_TYPE(GPluginLoader, gplugin_loader, GPLUGIN, LOADER, GObject)
- gpointer reserved[4];
-};
+/* circular include so this needs to be after the G_DECLARE_* marcro */
+#include <gplugin/gplugin-plugin.h>
struct _GPluginLoaderClass {
GObjectClass gparent;
@@ -56,10 +46,6 @@
gpointer reserved[4];
};
-G_BEGIN_DECLS
-
-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 Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-native-loader.c Fri Jul 26 01:19:15 2019 +0000
@@ -45,6 +45,10 @@
* as the value for #abi_version when call #gplugin_plugin_info_new.
*/
+struct _GPluginNativeLoader {
+ GPluginLoader parent;
+};
+
G_DEFINE_TYPE(GPluginNativeLoader, gplugin_native_loader, GPLUGIN_TYPE_LOADER);
/******************************************************************************
--- a/gplugin/gplugin-native-loader.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-native-loader.h Fri Jul 26 01:19:15 2019 +0000
@@ -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;
-
#include <glib.h>
#include <glib-object.h>
@@ -39,21 +29,10 @@
#define GPLUGIN_NATIVE_PLUGIN_ABI_VERSION 0x01000000
-struct _GPluginNativeLoader {
- GPluginLoader parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginNativeLoaderClass {
- GPluginLoaderClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
-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)
G_END_DECLS
--- a/gplugin/gplugin-native-plugin.c Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-native-plugin.c Fri Jul 26 01:19:15 2019 +0000
@@ -38,7 +38,9 @@
/******************************************************************************
* Structs
*****************************************************************************/
-typedef struct {
+struct _GPluginNativePlugin {
+ GTypeModule parent;
+
GModule *module;
gpointer load_func;
@@ -48,7 +50,7 @@
GPluginLoader *loader;
GPluginPluginInfo *info;
GPluginPluginState state;
-} GPluginNativePluginPrivate;
+};
/******************************************************************************
* Enums
@@ -94,7 +96,6 @@
GPluginNativePlugin,
gplugin_native_plugin,
G_TYPE_TYPE_MODULE,
- G_ADD_PRIVATE(GPluginNativePlugin)
G_IMPLEMENT_INTERFACE(GPLUGIN_TYPE_PLUGIN, gplugin_native_plugin_iface_init)
);
@@ -103,7 +104,6 @@
GParamSpec *pspec)
{
GPluginNativePlugin *plugin = GPLUGIN_NATIVE_PLUGIN(obj);
- GPluginNativePluginPrivate *priv = gplugin_native_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_MODULE:
@@ -111,24 +111,24 @@
gplugin_native_plugin_get_module(plugin));
break;
case PROP_LOAD_FUNC:
- g_value_set_pointer(value, priv->load_func);
+ g_value_set_pointer(value, plugin->load_func);
break;
case PROP_UNLOAD_FUNC:
- g_value_set_pointer(value, priv->unload_func);
+ g_value_set_pointer(value, plugin->unload_func);
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:
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);
switch(param_id) {
case PROP_MODULE:
- priv->module = g_value_get_pointer(value);
+ plugin->module = g_value_get_pointer(value);
break;
case PROP_LOAD_FUNC:
- priv->load_func = g_value_get_pointer(value);
+ plugin->load_func = g_value_get_pointer(value);
break;
case PROP_UNLOAD_FUNC:
- priv->unload_func = g_value_get_pointer(value);
+ plugin->unload_func = 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:
@@ -175,11 +175,11 @@
static void
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 @@
*/
GModule *
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);
-
- return priv->module;
+ return plugin->module;
}
--- a/gplugin/gplugin-native-plugin.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-native-plugin.h Fri Jul 26 01:19:15 2019 +0000
@@ -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 <gmodule.h>
#include <gplugin/gplugin-plugin.h>
-#include <gmodule.h>
-
-struct _GPluginNativePlugin {
- /*< private >*/
- GTypeModule parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginNativePluginClass {
- /*< private >*/
- GTypeModuleClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
-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 Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-plugin-info.c Fri Jul 26 01:19:15 2019 +0000
@@ -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)
/******************************************************************************
* Private API
--- a/gplugin/gplugin-plugin-info.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-plugin-info.h Fri Jul 26 01:19:15 2019 +0000
@@ -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;
-
#include <glib.h>
#include <glib-object.h>
+G_BEGIN_DECLS
+
+#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);
+ gpointer reserved[4];
};
-G_BEGIN_DECLS
-
-GType gplugin_plugin_info_get_type(void);
-
#define gplugin_plugin_info_new(id, abi_version, ...) \
GPLUGIN_PLUGIN_INFO( \
g_object_new(GPLUGIN_TYPE_PLUGIN_INFO, \
--- a/gplugin/gplugin-plugin.h Wed Jul 24 06:14:38 2019 +0000
+++ b/gplugin/gplugin-plugin.h Fri Jul 26 01:19:15 2019 +0000
@@ -22,13 +22,8 @@
#ifndef GPLUGIN_PLUGIN_H
#define GPLUGIN_PLUGIN_H
-#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.h>
+#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 >*/
} GPluginPluginState;
-#include <glib.h>
-#include <glib-object.h>
+G_BEGIN_DECLS
+#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 @@
gpointer reserved[8];
};
-G_BEGIN_DECLS
-
-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);
--- a/lua/gplugin-lua-core.c Wed Jul 24 06:14:38 2019 +0000
+++ b/lua/gplugin-lua-core.c Fri Jul 26 01:19:15 2019 +0000
@@ -54,7 +54,7 @@
gplugin_lua_loader_register(plugin);
gplugin_lua_plugin_register(plugin);
- gplugin_manager_register_loader(gplugin_lua_loader_get_type());
+ gplugin_manager_register_loader(GPLUGIN_LUA_TYPE_LOADER);
return TRUE;
}
--- a/lua/gplugin-lua-loader.c Wed Jul 24 06:14:38 2019 +0000
+++ b/lua/gplugin-lua-loader.c Fri Jul 26 01:19:15 2019 +0000
@@ -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);
/******************************************************************************
@@ -161,7 +165,7 @@
info = lua_touserdata(L, -1);
lua_pop(L, 1);
- plugin = g_object_new(GPLUGIN_TYPE_LUA_PLUGIN,
+ plugin = g_object_new(GPLUGIN_LUA_TYPE_PLUGIN,
"filename", filename,
"loader", loader,
"lua-state", L,
--- a/lua/gplugin-lua-loader.h Wed Jul 24 06:14:38 2019 +0000
+++ b/lua/gplugin-lua-loader.h Fri Jul 26 01:19:15 2019 +0000
@@ -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_LUA_TYPE_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 Wed Jul 24 06:14:38 2019 +0000
+++ b/lua/gplugin-lua-plugin.c Fri Jul 26 01:19:15 2019 +0000
@@ -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 Wed Jul 24 06:14:38 2019 +0000
+++ b/lua/gplugin-lua-plugin.h Fri Jul 26 01:19:15 2019 +0000
@@ -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_LUA_TYPE_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);
--- a/perl/gplugin-perl-core.c Wed Jul 24 06:14:38 2019 +0000
+++ b/perl/gplugin-perl-core.c Fri Jul 26 01:19:15 2019 +0000
@@ -51,7 +51,7 @@
gplugin_perl_plugin_register(plugin);
gplugin_perl_loader_register(plugin);
- gplugin_manager_register_loader(GPLUGIN_TYPE_PERL_LOADER);
+ gplugin_manager_register_loader(GPLUGIN_PERL_TYPE_LOADER);
return TRUE;
}
--- a/perl/gplugin-perl-loader.c Wed Jul 24 06:14:38 2019 +0000
+++ b/perl/gplugin-perl-loader.c Fri Jul 26 01:19:15 2019 +0000
@@ -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 Wed Jul 24 06:14:38 2019 +0000
+++ b/perl/gplugin-perl-loader.h Fri Jul 26 01:19:15 2019 +0000
@@ -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_PERL_TYPE_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 Wed Jul 24 06:14:38 2019 +0000
+++ b/perl/gplugin-perl-plugin.c Fri Jul 26 01:19:15 2019 +0000
@@ -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 Wed Jul 24 06:14:38 2019 +0000
+++ b/perl/gplugin-perl-plugin.h Fri Jul 26 01:19:15 2019 +0000
@@ -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_PERL_TYPE_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);
--- a/python/gplugin-python-core.c Wed Jul 24 06:14:38 2019 +0000
+++ b/python/gplugin-python-core.c Fri Jul 26 01:19:15 2019 +0000
@@ -53,7 +53,7 @@
gplugin_python_plugin_register(plugin);
gplugin_python_loader_register(plugin);
- gplugin_manager_register_loader(GPLUGIN_TYPE_PYTHON_LOADER);
+ gplugin_manager_register_loader(GPLUGIN_PYTHON_TYPE_LOADER);
return TRUE;
}
--- a/python/gplugin-python-loader.c Wed Jul 24 06:14:38 2019 +0000
+++ b/python/gplugin-python-loader.c Fri Jul 26 01:19:15 2019 +0000
@@ -28,18 +28,14 @@
#include <pygobject.h>
-typedef struct {
+struct _GPluginPythonLoader {
+ GPluginLoader parent;
+
PyThreadState *py_thread_state;
guint gc_id;
-} GPluginPythonLoaderPrivate;
+};
-G_DEFINE_DYNAMIC_TYPE_EXTENDED(
- GPluginPythonLoader,
- gplugin_python_loader,
- GPLUGIN_TYPE_LOADER,
- 0,
- G_ADD_PRIVATE_DYNAMIC(GPluginPythonLoader)
-);
+G_DEFINE_DYNAMIC_TYPE(GPluginPythonLoader, gplugin_python_loader, GPLUGIN_TYPE_LOADER);
/******************************************************************************
* GPluginLoader Implementation
@@ -173,7 +169,7 @@
info = pygobject_get(pyinfo);
/* now that we have everything, create the plugin */
- plugin = g_object_new(GPLUGIN_TYPE_PYTHON_PLUGIN,
+ plugin = g_object_new(GPLUGIN_PYTHON_TYPE_PLUGIN,
"filename", filename,
"loader", loader,
"module", module,
--- a/python/gplugin-python-loader.h Wed Jul 24 06:14:38 2019 +0000
+++ b/python/gplugin-python-loader.h Fri Jul 26 01:19:15 2019 +0000
@@ -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.h>
#include <gplugin-native.h>
-struct _GPluginPythonLoader {
- /*< private >*/
- GPluginLoader parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginPythonLoaderClass {
- /*< private >*/
- GPluginLoaderClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_PYTHON_TYPE_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);
G_END_DECLS
--- a/python/gplugin-python-plugin.c Wed Jul 24 06:14:38 2019 +0000
+++ b/python/gplugin-python-plugin.c Fri Jul 26 01:19:15 2019 +0000
@@ -24,7 +24,9 @@
/******************************************************************************
* Typedefs
*****************************************************************************/
-typedef struct {
+struct _GPluginPythonPlugin {
+ GObject parent;
+
PyObject *module;
PyObject *query;
PyObject *load;
@@ -35,7 +37,7 @@
GPluginLoader *loader;
GPluginPluginInfo *info;
GPluginPluginState state;
-} GPluginPythonPluginPrivate;
+};
/******************************************************************************
* Enums
@@ -62,7 +64,6 @@
gplugin_python_plugin,
G_TYPE_OBJECT,
0,
- G_ADD_PRIVATE_DYNAMIC(GPluginPythonPlugin)
G_IMPLEMENT_INTERFACE(GPLUGIN_TYPE_PLUGIN, gplugin_python_plugin_iface_init)
);
@@ -76,85 +77,54 @@
/******************************************************************************
* Private Stuff
*****************************************************************************/
-static PyObject *
-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);
-
- return priv->module;
-}
-
static void
gplugin_python_plugin_set_module(GPluginPythonPlugin *plugin,
PyObject *module)
{
- 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_XINCREF(module);
- Py_CLEAR(priv->module);
- priv->module = module;
+ Py_CLEAR(plugin->module);
+ plugin->module = module;
}
static gpointer
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);
-
- return priv->load;
+ return plugin->load;
}
static void
gplugin_python_plugin_set_load_func(GPluginPythonPlugin *plugin,
PyObject *func)
{
- 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_XINCREF(func);
- Py_CLEAR(priv->load);
- priv->load = func;
+ Py_CLEAR(plugin->load);
+ plugin->load = func;
}
static gpointer
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);
-
- return priv->unload;
+ return plugin->unload;
}
static void
gplugin_python_plugin_set_unload_func(GPluginPythonPlugin *plugin,
PyObject *func)
{
- 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_XINCREF(func);
- Py_CLEAR(priv->unload);
- priv->unload = func;
+ Py_CLEAR(plugin->unload);
+ plugin->unload = func;
}
/******************************************************************************
@@ -165,12 +135,10 @@
GParamSpec *pspec)
{
GPluginPythonPlugin *plugin = GPLUGIN_PYTHON_PLUGIN(obj);
- GPluginPythonPluginPrivate *priv = gplugin_python_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_MODULE:
- g_value_set_pointer(value,
- gplugin_python_plugin_get_module(plugin));
+ g_value_set_pointer(value, plugin->module);
break;
case PROP_LOAD_FUNC:
g_value_set_pointer(value,
@@ -183,16 +151,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:
@@ -206,7 +174,6 @@
const GValue *value, GParamSpec *pspec)
{
GPluginPythonPlugin *plugin = GPLUGIN_PYTHON_PLUGIN(obj);
- GPluginPythonPluginPrivate *priv = gplugin_python_plugin_get_instance_private(plugin);
switch(param_id) {
case PROP_MODULE:
@@ -224,16 +191,16 @@
/* 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:
@@ -244,15 +211,15 @@
static void
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->load);
- 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 Wed Jul 24 06:14:38 2019 +0000
+++ b/python/gplugin-python-plugin.h Fri Jul 26 01:19:15 2019 +0000
@@ -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.h>
#include <gplugin-native.h>
-struct _GPluginPythonPlugin {
- /*< private >*/
- GObject parent;
-
- gpointer reserved[4];
-};
-
-struct _GPluginPythonPluginClass {
- /*< private >*/
- GObjectClass parent;
-
- gpointer reserved[4];
-};
-
G_BEGIN_DECLS
+#define GPLUGIN_PYTHON_TYPE_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);
G_END_DECLS
--- a/tcc/gplugin-tcc-core.c Wed Jul 24 06:14:38 2019 +0000
+++ b/tcc/gplugin-tcc-core.c Fri Jul 26 01:19:15 2019 +0000
@@ -53,7 +53,7 @@
gplugin_tcc_loader_register(plugin);
gplugin_tcc_plugin_register(plugin);
- gplugin_manager_register_loader(gplugin_tcc_loader_get_type());
+ gplugin_manager_register_loader(GPLUGIN_TCC_TYPE_LOADER);
return TRUE;
}
--- a/tcc/gplugin-tcc-loader.c Wed Jul 24 06:14:38 2019 +0000
+++ b/tcc/gplugin-tcc-loader.c Fri Jul 26 01:19:15 2019 +0000
@@ -23,6 +23,10 @@
#include <libtcc.h>
+struct _GPluginTccLoader {
+ GPluginLoader parent;
+};
+
G_DEFINE_DYNAMIC_TYPE(GPluginTccLoader, gplugin_tcc_loader, GPLUGIN_TYPE_LOADER);
/******************************************************************************
@@ -94,7 +98,7 @@
return NULL;
}
- plugin = g_object_new(GPLUGIN_TYPE_TCC_PLUGIN,
+ plugin = g_object_new(GPLUGIN_TCC_TYPE_PLUGIN,
"filename", filename,
"loader", loader,
"state", s,
--- a/tcc/gplugin-tcc-loader.h Wed Jul 24 06:14:38 2019 +0000
+++ b/tcc/gplugin-tcc-loader.h Fri Jul 26 01:19:15 2019 +0000
@@ -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_TCC_TYPE_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 Wed Jul 24 06:14:38 2019 +0000
+++ b/tcc/gplugin-tcc-plugin.c Fri Jul 26 01:19:15 2019 +0000
@@ -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 Wed Jul 24 06:14:38 2019 +0000
+++ b/tcc/gplugin-tcc-plugin.h Fri Jul 26 01:19:15 2019 +0000
@@ -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_TCC_TYPE_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);