summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalev Lember <klember@redhat.com>2015-09-08 13:32:28 +0200
committerKalev Lember <klember@redhat.com>2015-09-08 14:01:27 +0200
commita3d06c5cb6f85e963be74e8866e1c3bc71ee4990 (patch)
treea03c87bbf3d7d855439512083955490acf7aeb70
parent0bb28983f4f865a45cefcfdb4db66b6170bf8538 (diff)
downloadappstream-glib-a3d06c5cb6f85e963be74e8866e1c3bc71ee4990.tar.gz
libappstream-builder: Port to G_DECLARE_DERIVABLE_TYPE macro
-rw-r--r--libappstream-builder/asb-app.c5
-rw-r--r--libappstream-builder/asb-app.h19
-rw-r--r--libappstream-builder/asb-context.c5
-rw-r--r--libappstream-builder/asb-context.h18
-rw-r--r--libappstream-builder/asb-package-alpm.c5
-rw-r--r--libappstream-builder/asb-package-alpm.h18
-rw-r--r--libappstream-builder/asb-package-cab.h18
-rw-r--r--libappstream-builder/asb-package-deb.h18
-rw-r--r--libappstream-builder/asb-package-ostree.c5
-rw-r--r--libappstream-builder/asb-package-ostree.h18
-rw-r--r--libappstream-builder/asb-package-rpm.c5
-rw-r--r--libappstream-builder/asb-package-rpm.h18
-rw-r--r--libappstream-builder/asb-package.c5
-rw-r--r--libappstream-builder/asb-package.h18
-rw-r--r--libappstream-builder/asb-plugin-loader.c5
-rw-r--r--libappstream-builder/asb-plugin-loader.h17
-rw-r--r--libappstream-builder/asb-task.c5
-rw-r--r--libappstream-builder/asb-task.h19
18 files changed, 36 insertions, 185 deletions
diff --git a/libappstream-builder/asb-app.c b/libappstream-builder/asb-app.c
index 98be16c..d5d20d2 100644
--- a/libappstream-builder/asb-app.c
+++ b/libappstream-builder/asb-app.c
@@ -35,14 +35,13 @@
#include "asb-app.h"
#include "as-cleanup.h"
-typedef struct _AsbAppPrivate AsbAppPrivate;
-struct _AsbAppPrivate
+typedef struct
{
GPtrArray *requires_appdata;
AsbPackage *pkg;
gboolean ignore_requires_appdata;
gboolean hidpi_enabled;
-};
+} AsbAppPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbApp, asb_app, AS_TYPE_APP)
diff --git a/libappstream-builder/asb-app.h b/libappstream-builder/asb-app.h
index 1f1f6f0..0abf4bf 100644
--- a/libappstream-builder/asb-app.h
+++ b/libappstream-builder/asb-app.h
@@ -29,22 +29,10 @@
#include "asb-package.h"
-#define ASB_TYPE_APP (asb_app_get_type())
-#define ASB_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_APP, AsbApp))
-#define ASB_APP_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_APP, AsbAppClass))
-#define ASB_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_APP))
-#define ASB_IS_APP_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_APP))
-#define ASB_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_APP, AsbAppClass))
-
G_BEGIN_DECLS
-typedef struct _AsbApp AsbApp;
-typedef struct _AsbAppClass AsbAppClass;
-
-struct _AsbApp
-{
- AsApp parent;
-};
+#define ASB_TYPE_APP (asb_app_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbApp, asb_app, ASB, APP, GObject)
struct _AsbAppClass
{
@@ -76,9 +64,6 @@ typedef enum {
ASB_APP_SAVE_FLAG_LAST,
} AsbAppSaveFlags;
-GType asb_app_get_type (void);
-
-
AsbApp *asb_app_new (AsbPackage *pkg,
const gchar *id);
void asb_app_set_hidpi_enabled (AsbApp *app,
diff --git a/libappstream-builder/asb-context.c b/libappstream-builder/asb-context.c
index faf67ee..ae1b2eb 100644
--- a/libappstream-builder/asb-context.c
+++ b/libappstream-builder/asb-context.c
@@ -50,8 +50,7 @@
#include "asb-package-cab.h"
#include "asb-package-deb.h"
-typedef struct _AsbContextPrivate AsbContextPrivate;
-struct _AsbContextPrivate
+typedef struct
{
AsStore *store_failed;
AsStore *store_ignore;
@@ -73,7 +72,7 @@ struct _AsbContextPrivate
gchar *icons_dir;
gchar *basename;
gchar *origin;
-};
+} AsbContextPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbContext, asb_context, G_TYPE_OBJECT)
diff --git a/libappstream-builder/asb-context.h b/libappstream-builder/asb-context.h
index 0c801d2..62990a8 100644
--- a/libappstream-builder/asb-context.h
+++ b/libappstream-builder/asb-context.h
@@ -27,22 +27,10 @@
#include "asb-app.h"
#include "asb-package.h"
-#define ASB_TYPE_CONTEXT (asb_context_get_type())
-#define ASB_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_CONTEXT, AsbContext))
-#define ASB_CONTEXT_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_CONTEXT, AsbContextClass))
-#define ASB_IS_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_CONTEXT))
-#define ASB_IS_CONTEXT_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_CONTEXT))
-#define ASB_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_CONTEXT, AsbContextClass))
-
G_BEGIN_DECLS
-typedef struct _AsbContext AsbContext;
-typedef struct _AsbContextClass AsbContextClass;
-
-struct _AsbContext
-{
- GObject parent;
-};
+#define ASB_TYPE_CONTEXT (asb_context_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbContext, asb_context, ASB, CONTEXT, GObject)
struct _AsbContextClass
{
@@ -96,8 +84,6 @@ typedef enum {
ASB_CONTEXT_FLAG_LAST,
} AsbContextFlags;
-GType asb_context_get_type (void);
-
AsbContext *asb_context_new (void);
AsbPackage *asb_context_find_by_pkgname (AsbContext *ctx,
const gchar *pkgname);
diff --git a/libappstream-builder/asb-package-alpm.c b/libappstream-builder/asb-package-alpm.c
index 36e28d0..ae955c0 100644
--- a/libappstream-builder/asb-package-alpm.c
+++ b/libappstream-builder/asb-package-alpm.c
@@ -37,12 +37,11 @@
#include "asb-package-alpm.h"
#include "asb-plugin.h"
-typedef struct _AsbPackageAlpmPrivate AsbPackageAlpmPrivate;
-struct _AsbPackageAlpmPrivate
+typedef struct
{
alpm_handle_t *handle;
alpm_pkg_t *package;
-};
+} AsbPackageAlpmPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbPackageAlpm, asb_package_alpm, ASB_TYPE_PACKAGE)
diff --git a/libappstream-builder/asb-package-alpm.h b/libappstream-builder/asb-package-alpm.h
index 311d043..ce91faf 100644
--- a/libappstream-builder/asb-package-alpm.h
+++ b/libappstream-builder/asb-package-alpm.h
@@ -29,30 +29,16 @@
#include "asb-package.h"
-#define ASB_TYPE_PACKAGE_ALPM (asb_package_alpm_get_type())
-#define ASB_PACKAGE_ALPM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_PACKAGE_ALPM, AsbPackageAlpm))
-#define ASB_PACKAGE_ALPM_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_PACKAGE_ALPM, AsbPackageAlpmClass))
-#define ASB_IS_PACKAGE_ALPM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_PACKAGE_ALPM))
-#define ASB_IS_PACKAGE_ALPM_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_PACKAGE_ALPM))
-#define ASB_PACKAGE_ALPM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_PACKAGE_ALPM, AsbPackageAlpmClass))
-
G_BEGIN_DECLS
-typedef struct _AsbPackageAlpm AsbPackageAlpm;
-typedef struct _AsbPackageAlpmClass AsbPackageAlpmClass;
-
-struct _AsbPackageAlpm
-{
- AsbPackage parent;
-};
+#define ASB_TYPE_PACKAGE_ALPM (asb_package_alpm_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbPackageAlpm, asb_package_alpm, ASB, PACKAGE_ALPM, GObject)
struct _AsbPackageAlpmClass
{
AsbPackageClass parent_class;
};
-GType asb_package_alpm_get_type (void);
-
AsbPackage *asb_package_alpm_new (void);
G_END_DECLS
diff --git a/libappstream-builder/asb-package-cab.h b/libappstream-builder/asb-package-cab.h
index 86c2154..3ddb7ed 100644
--- a/libappstream-builder/asb-package-cab.h
+++ b/libappstream-builder/asb-package-cab.h
@@ -29,30 +29,16 @@
#include "asb-package.h"
-#define ASB_TYPE_PACKAGE_CAB (asb_package_cab_get_type())
-#define ASB_PACKAGE_CAB(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_PACKAGE_CAB, AsbPackageCab))
-#define ASB_PACKAGE_CAB_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_PACKAGE_CAB, AsbPackageCabClass))
-#define ASB_IS_PACKAGE_CAB(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_PACKAGE_CAB))
-#define ASB_IS_PACKAGE_CAB_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_PACKAGE_CAB))
-#define ASB_PACKAGE_CAB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_PACKAGE_CAB, AsbPackageCabClass))
-
G_BEGIN_DECLS
-typedef struct _AsbPackageCab AsbPackageCab;
-typedef struct _AsbPackageCabClass AsbPackageCabClass;
-
-struct _AsbPackageCab
-{
- AsbPackage parent;
-};
+#define ASB_TYPE_PACKAGE_CAB (asb_package_cab_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbPackageCab, asb_package_cab, ASB, PACKAGE_CAB, GObject)
struct _AsbPackageCabClass
{
AsbPackageClass parent_class;
};
-GType asb_package_cab_get_type (void);
-
AsbPackage *asb_package_cab_new (void);
G_END_DECLS
diff --git a/libappstream-builder/asb-package-deb.h b/libappstream-builder/asb-package-deb.h
index f1b8b24..2ff71c9 100644
--- a/libappstream-builder/asb-package-deb.h
+++ b/libappstream-builder/asb-package-deb.h
@@ -29,30 +29,16 @@
#include "asb-package.h"
-#define ASB_TYPE_PACKAGE_DEB (asb_package_deb_get_type())
-#define ASB_PACKAGE_DEB(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_PACKAGE_DEB, AsbPackageDeb))
-#define ASB_PACKAGE_DEB_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_PACKAGE_DEB, AsbPackageDebClass))
-#define ASB_IS_PACKAGE_DEB(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_PACKAGE_DEB))
-#define ASB_IS_PACKAGE_DEB_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_PACKAGE_DEB))
-#define ASB_PACKAGE_DEB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_PACKAGE_DEB, AsbPackageDebClass))
-
G_BEGIN_DECLS
-typedef struct _AsbPackageDeb AsbPackageDeb;
-typedef struct _AsbPackageDebClass AsbPackageDebClass;
-
-struct _AsbPackageDeb
-{
- AsbPackage parent;
-};
+#define ASB_TYPE_PACKAGE_DEB (asb_package_deb_get_type())
+G_DECLARE_DERIVABLE_TYPE (AsbPackageDeb, asb_package_deb, ASB, PACKAGE_DEB, GObject)
struct _AsbPackageDebClass
{
AsbPackageClass parent_class;
};
-GType asb_package_deb_get_type (void);
-
AsbPackage *asb_package_deb_new (void);
G_END_DECLS
diff --git a/libappstream-builder/asb-package-ostree.c b/libappstream-builder/asb-package-ostree.c
index 4fc0f88..6aaf0b7 100644
--- a/libappstream-builder/asb-package-ostree.c
+++ b/libappstream-builder/asb-package-ostree.c
@@ -35,12 +35,11 @@
#include "asb-package-ostree.h"
#include "asb-plugin.h"
-typedef struct _AsbPackageOstreePrivate AsbPackageOstreePrivate;
-struct _AsbPackageOstreePrivate
+typedef struct
{
OstreeRepo *repo;
gchar *repodir;
-};
+} AsbPackageOstreePrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbPackageOstree, asb_package_ostree, ASB_TYPE_PACKAGE)
diff --git a/libappstream-builder/asb-package-ostree.h b/libappstream-builder/asb-package-ostree.h
index 0ea7927..7573e3b 100644
--- a/libappstream-builder/asb-package-ostree.h
+++ b/libappstream-builder/asb-package-ostree.h
@@ -29,30 +29,16 @@
#include "asb-package.h"
-#define ASB_TYPE_PACKAGE_OSTREE (asb_package_ostree_get_type())
-#define ASB_PACKAGE_OSTREE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_PACKAGE_OSTREE, AsbPackageOstree))
-#define ASB_PACKAGE_OSTREE_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_PACKAGE_OSTREE, AsbPackageOstreeClass))
-#define ASB_IS_PACKAGE_OSTREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_PACKAGE_OSTREE))
-#define ASB_IS_PACKAGE_OSTREE_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_PACKAGE_OSTREE))
-#define ASB_PACKAGE_OSTREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_PACKAGE_OSTREE, AsbPackageOstreeClass))
-
G_BEGIN_DECLS
-typedef struct _AsbPackageOstree AsbPackageOstree;
-typedef struct _AsbPackageOstreeClass AsbPackageOstreeClass;
-
-struct _AsbPackageOstree
-{
- AsbPackage parent;
-};
+#define ASB_TYPE_PACKAGE_OSTREE (asb_package_ostree_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbPackageOstree, asb_package_ostree, ASB, PACKAGE_OSTREE, GObject)
struct _AsbPackageOstreeClass
{
AsbPackageClass parent_class;
};
-GType asb_package_ostree_get_type (void);
-
AsbPackage *asb_package_ostree_new (void);
void asb_package_ostree_set_repodir (AsbPackageOstree *pkg_ostree,
const gchar *repodir);
diff --git a/libappstream-builder/asb-package-rpm.c b/libappstream-builder/asb-package-rpm.c
index ea65e00..9df3811 100644
--- a/libappstream-builder/asb-package-rpm.c
+++ b/libappstream-builder/asb-package-rpm.c
@@ -40,11 +40,10 @@
#include "asb-package-rpm.h"
#include "asb-plugin.h"
-typedef struct _AsbPackageRpmPrivate AsbPackageRpmPrivate;
-struct _AsbPackageRpmPrivate
+typedef struct
{
Header h;
-};
+} AsbPackageRpmPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbPackageRpm, asb_package_rpm, ASB_TYPE_PACKAGE)
diff --git a/libappstream-builder/asb-package-rpm.h b/libappstream-builder/asb-package-rpm.h
index da534fb..3d5df82 100644
--- a/libappstream-builder/asb-package-rpm.h
+++ b/libappstream-builder/asb-package-rpm.h
@@ -29,30 +29,16 @@
#include "asb-package.h"
-#define ASB_TYPE_PACKAGE_RPM (asb_package_rpm_get_type())
-#define ASB_PACKAGE_RPM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_PACKAGE_RPM, AsbPackageRpm))
-#define ASB_PACKAGE_RPM_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_PACKAGE_RPM, AsbPackageRpmClass))
-#define ASB_IS_PACKAGE_RPM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_PACKAGE_RPM))
-#define ASB_IS_PACKAGE_RPM_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_PACKAGE_RPM))
-#define ASB_PACKAGE_RPM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_PACKAGE_RPM, AsbPackageRpmClass))
-
G_BEGIN_DECLS
-typedef struct _AsbPackageRpm AsbPackageRpm;
-typedef struct _AsbPackageRpmClass AsbPackageRpmClass;
-
-struct _AsbPackageRpm
-{
- AsbPackage parent;
-};
+#define ASB_TYPE_PACKAGE_RPM (asb_package_rpm_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbPackageRpm, asb_package_rpm, ASB, PACKAGE_RPM, GObject)
struct _AsbPackageRpmClass
{
AsbPackageClass parent_class;
};
-GType asb_package_rpm_get_type (void);
-
AsbPackage *asb_package_rpm_new (void);
G_END_DECLS
diff --git a/libappstream-builder/asb-package.c b/libappstream-builder/asb-package.c
index 7ca89c4..8c94250 100644
--- a/libappstream-builder/asb-package.c
+++ b/libappstream-builder/asb-package.c
@@ -35,8 +35,7 @@
#include "asb-package.h"
#include "asb-plugin.h"
-typedef struct _AsbPackagePrivate AsbPackagePrivate;
-struct _AsbPackagePrivate
+typedef struct
{
AsbPackageKind kind;
gboolean enabled;
@@ -68,7 +67,7 @@ struct _AsbPackagePrivate
GPtrArray *releases;
GHashTable *releases_hash;
GMutex mutex_log;
-};
+} AsbPackagePrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbPackage, asb_package, G_TYPE_OBJECT)
diff --git a/libappstream-builder/asb-package.h b/libappstream-builder/asb-package.h
index 10b9228..cea89b8 100644
--- a/libappstream-builder/asb-package.h
+++ b/libappstream-builder/asb-package.h
@@ -27,22 +27,10 @@
#include <stdarg.h>
#include <appstream-glib.h>
-#define ASB_TYPE_PACKAGE (asb_package_get_type())
-#define ASB_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_PACKAGE, AsbPackage))
-#define ASB_PACKAGE_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_PACKAGE, AsbPackageClass))
-#define ASB_IS_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_PACKAGE))
-#define ASB_IS_PACKAGE_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_PACKAGE))
-#define ASB_PACKAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_PACKAGE, AsbPackageClass))
-
G_BEGIN_DECLS
-typedef struct _AsbPackage AsbPackage;
-typedef struct _AsbPackageClass AsbPackageClass;
-
-struct _AsbPackage
-{
- GObject parent;
-};
+#define ASB_TYPE_PACKAGE (asb_package_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbPackage, asb_package, ASB, PACKAGE, GObject)
typedef enum {
ASB_PACKAGE_ENSURE_NONE = 0,
@@ -99,8 +87,6 @@ typedef enum {
ASB_PACKAGE_KIND_LAST
} AsbPackageKind;
-GType asb_package_get_type (void);
-
void asb_package_log_start (AsbPackage *pkg);
void asb_package_log (AsbPackage *pkg,
AsbPackageLogLevel log_level,
diff --git a/libappstream-builder/asb-plugin-loader.c b/libappstream-builder/asb-plugin-loader.c
index 35fd5d8..3a8a95d 100644
--- a/libappstream-builder/asb-plugin-loader.c
+++ b/libappstream-builder/asb-plugin-loader.c
@@ -34,13 +34,12 @@
#include "asb-plugin-loader.h"
#include "asb-plugin.h"
-typedef struct _AsbPluginLoaderPrivate AsbPluginLoaderPrivate;
-struct _AsbPluginLoaderPrivate
+typedef struct
{
GPtrArray *plugins;
AsbContext *ctx;
gchar *plugin_dir;
-};
+} AsbPluginLoaderPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbPluginLoader, asb_plugin_loader, G_TYPE_OBJECT)
diff --git a/libappstream-builder/asb-plugin-loader.h b/libappstream-builder/asb-plugin-loader.h
index 1ef862b..2c2006d 100644
--- a/libappstream-builder/asb-plugin-loader.h
+++ b/libappstream-builder/asb-plugin-loader.h
@@ -26,22 +26,10 @@
#include "asb-plugin.h"
-#define ASB_TYPE_PLUGIN_LOADER (asb_plugin_loader_get_type())
-#define ASB_PLUGIN_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_PLUGIN_LOADER, AsbPluginLoader))
-#define ASB_PLUGIN_LOADER_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_PLUGIN_LOADER, AsbPluginLoaderClass))
-#define ASB_IS_PLUGIN_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_PLUGIN_LOADER))
-#define ASB_IS_PLUGIN_LOADER_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_PLUGIN_LOADER))
-#define ASB_PLUGIN_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_PLUGIN_LOADER, AsbPluginLoaderClass))
-
G_BEGIN_DECLS
-typedef struct _AsbPluginLoader AsbPluginLoader;
-typedef struct _AsbPluginLoaderClass AsbPluginLoaderClass;
-
-struct _AsbPluginLoader
-{
- GObject parent;
-};
+#define ASB_TYPE_PLUGIN_LOADER (asb_plugin_loader_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbPluginLoader, asb_plugin_loader, ASB, PLUGIN_LOADER, GObject)
struct _AsbPluginLoaderClass
{
@@ -57,7 +45,6 @@ struct _AsbPluginLoaderClass
void (*_asb_reserved8) (void);
};
-GType asb_plugin_loader_get_type (void);
AsbPluginLoader *asb_plugin_loader_new (AsbContext *ctx);
const gchar *asb_plugin_loader_get_dir (AsbPluginLoader *plugin_loader);
diff --git a/libappstream-builder/asb-task.c b/libappstream-builder/asb-task.c
index a29d09d..1fb3e7a 100644
--- a/libappstream-builder/asb-task.c
+++ b/libappstream-builder/asb-task.c
@@ -38,15 +38,14 @@
#include "asb-plugin.h"
#include "asb-plugin-loader.h"
-typedef struct _AsbTaskPrivate AsbTaskPrivate;
-struct _AsbTaskPrivate
+typedef struct
{
AsbContext *ctx;
AsbPackage *pkg;
GPtrArray *plugins_to_run;
gchar *filename;
gchar *tmpdir;
-};
+} AsbTaskPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (AsbTask, asb_task, G_TYPE_OBJECT)
diff --git a/libappstream-builder/asb-task.h b/libappstream-builder/asb-task.h
index 9c93c0c..93f961a 100644
--- a/libappstream-builder/asb-task.h
+++ b/libappstream-builder/asb-task.h
@@ -27,22 +27,10 @@
#include "asb-package.h"
#include "asb-context.h"
-#define ASB_TYPE_TASK (asb_task_get_type())
-#define ASB_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ASB_TYPE_TASK, AsbTask))
-#define ASB_TASK_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), ASB_TYPE_TASK, AsbTaskClass))
-#define ASB_IS_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ASB_TYPE_TASK))
-#define ASB_IS_TASK_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), ASB_TYPE_TASK))
-#define ASB_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ASB_TYPE_TASK, AsbTaskClass))
-
G_BEGIN_DECLS
-typedef struct _AsbTask AsbTask;
-typedef struct _AsbTaskClass AsbTaskClass;
-
-struct _AsbTask
-{
- GObject parent;
-};
+#define ASB_TYPE_TASK (asb_task_get_type ())
+G_DECLARE_DERIVABLE_TYPE (AsbTask, asb_task, ASB, TASK, GObject)
struct _AsbTaskClass
{
@@ -58,9 +46,6 @@ struct _AsbTaskClass
void (*_asb_reserved8) (void);
};
-GType asb_task_get_type (void);
-
-
AsbTask *asb_task_new (AsbContext *ctx);
gboolean asb_task_process (AsbTask *task,
GError **error_not_used);