From f50906cc36777d254dee2bc4b829a9b6aea5b92d Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Thu, 16 Mar 2023 18:15:12 -0700 Subject: janitorial: modernize PeasExtensionBase Use modern GLib macros for defining types. --- libpeas/peas-autocleanups.h | 1 - libpeas/peas-extension-base.c | 23 +++++++++++------------ libpeas/peas-extension-base.h | 41 ++++++++--------------------------------- 3 files changed, 19 insertions(+), 46 deletions(-) (limited to 'libpeas') diff --git a/libpeas/peas-autocleanups.h b/libpeas/peas-autocleanups.h index d28f564..f733cd1 100644 --- a/libpeas/peas-autocleanups.h +++ b/libpeas/peas-autocleanups.h @@ -35,7 +35,6 @@ G_BEGIN_DECLS #if GLIB_CHECK_VERSION (2, 44, 0) G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeasEngine, g_object_unref) -G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeasExtensionBase, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (PeasObjectModule, g_object_unref) #endif /* GLIB_CHECK_VERSION (2, 44, 0) */ diff --git a/libpeas/peas-extension-base.c b/libpeas/peas-extension-base.c index 5749d03..b68a0ed 100644 --- a/libpeas/peas-extension-base.c +++ b/libpeas/peas-extension-base.c @@ -42,9 +42,10 @@ * the same purpose. **/ -struct _PeasExtensionBasePrivate { +typedef struct _PeasExtensionBasePrivate +{ PeasPluginInfo *info; -}; +} PeasExtensionBasePrivate; /* properties */ enum { @@ -56,12 +57,7 @@ enum { static GParamSpec *properties[N_PROPERTIES] = { NULL }; -G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (PeasExtensionBase, - peas_extension_base, - G_TYPE_OBJECT) - -#define GET_PRIV(o) \ - (peas_extension_base_get_instance_private (o)) +G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (PeasExtensionBase, peas_extension_base, G_TYPE_OBJECT) static void peas_extension_base_get_property (GObject *object, @@ -76,9 +72,11 @@ peas_extension_base_get_property (GObject *object, case PROP_PLUGIN_INFO: g_value_set_boxed (value, peas_extension_base_get_plugin_info (extbase)); break; + case PROP_DATA_DIR: g_value_take_string (value, peas_extension_base_get_data_dir (extbase)); break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -92,13 +90,14 @@ peas_extension_base_set_property (GObject *object, GParamSpec *pspec) { PeasExtensionBase *extbase = PEAS_EXTENSION_BASE (object); - PeasExtensionBasePrivate *priv = GET_PRIV (extbase); + PeasExtensionBasePrivate *priv = peas_extension_base_get_instance_private (extbase); switch (prop_id) { case PROP_PLUGIN_INFO: priv->info = g_value_get_boxed (value); break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -165,7 +164,7 @@ peas_extension_base_class_init (PeasExtensionBaseClass *klass) PeasPluginInfo * peas_extension_base_get_plugin_info (PeasExtensionBase *extbase) { - PeasExtensionBasePrivate *priv = GET_PRIV (extbase); + PeasExtensionBasePrivate *priv = peas_extension_base_get_instance_private (extbase); g_return_val_if_fail (PEAS_IS_EXTENSION_BASE (extbase), NULL); @@ -182,10 +181,10 @@ peas_extension_base_get_plugin_info (PeasExtensionBase *extbase) * Returns: A newly allocated string with the path of the * directory where the plugin should look for its data files */ -gchar * +char * peas_extension_base_get_data_dir (PeasExtensionBase *extbase) { - PeasExtensionBasePrivate *priv = GET_PRIV (extbase); + PeasExtensionBasePrivate *priv = peas_extension_base_get_instance_private (extbase); g_return_val_if_fail (PEAS_IS_EXTENSION_BASE (extbase), NULL); diff --git a/libpeas/peas-extension-base.h b/libpeas/peas-extension-base.h index cc8df5a..79fa835 100644 --- a/libpeas/peas-extension-base.h +++ b/libpeas/peas-extension-base.h @@ -34,30 +34,10 @@ G_BEGIN_DECLS -/* - * Type checking and casting macros - */ -#define PEAS_TYPE_EXTENSION_BASE (peas_extension_base_get_type()) -#define PEAS_EXTENSION_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PEAS_TYPE_EXTENSION_BASE, PeasExtensionBase)) -#define PEAS_EXTENSION_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PEAS_TYPE_EXTENSION_BASE, PeasExtensionBaseClass)) -#define PEAS_IS_EXTENSION_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PEAS_TYPE_EXTENSION_BASE)) -#define PEAS_IS_EXTENSION_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PEAS_TYPE_EXTENSION_BASE)) -#define PEAS_EXTENSION_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PEAS_TYPE_EXTENSION_BASE, PeasExtensionBaseClass)) - -/** - * PeasExtensionBase: - * - * Base class for C extensions. - */ -typedef struct _PeasExtensionBase PeasExtensionBase; -typedef struct _PeasExtensionBaseClass PeasExtensionBaseClass; -typedef struct _PeasExtensionBasePrivate PeasExtensionBasePrivate; - -struct _PeasExtensionBase { - GObject parent; +#define PEAS_TYPE_EXTENSION_BASE (peas_extension_base_get_type()) - PeasExtensionBasePrivate *priv; -}; +PEAS_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (PeasExtensionBase, peas_extension_base, PEAS, EXTENSION_BASE, GObject) /** * PeasExtensionBaseClass: @@ -65,22 +45,17 @@ struct _PeasExtensionBase { * * The class structure of #PeasExtensionBase. */ -struct _PeasExtensionBaseClass { +struct _PeasExtensionBaseClass +{ GObjectClass parent_class; /*< private >*/ - gpointer padding[8]; + gpointer _reserved[8]; }; -/* - * Public methods - */ -PEAS_AVAILABLE_IN_ALL -GType peas_extension_base_get_type (void) G_GNUC_CONST; - PEAS_AVAILABLE_IN_ALL -PeasPluginInfo *peas_extension_base_get_plugin_info (PeasExtensionBase *extbase); +PeasPluginInfo *peas_extension_base_get_plugin_info (PeasExtensionBase *extbase); PEAS_AVAILABLE_IN_ALL -gchar *peas_extension_base_get_data_dir (PeasExtensionBase *extbase); +char *peas_extension_base_get_data_dir (PeasExtensionBase *extbase); G_END_DECLS -- cgit v1.2.1