From 877a01a53e87260cf2efd39a3f3408a5e63e0fa4 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Mon, 25 Mar 2019 19:59:30 +0100 Subject: LpfLoc: Use G_DEFINE_TYPE_WITH_PRIVATE and G_DECLARE_FINAL_TYPE --- libplanfahr/lpf-loc.c | 16 +++++++++------- libplanfahr/lpf-loc.h | 26 ++------------------------ 2 files changed, 11 insertions(+), 31 deletions(-) diff --git a/libplanfahr/lpf-loc.c b/libplanfahr/lpf-loc.c index c872e5c..4787c76 100644 --- a/libplanfahr/lpf-loc.c +++ b/libplanfahr/lpf-loc.c @@ -45,17 +45,20 @@ enum { * A #LpfLoc represents a location (e.g. a station) */ -G_DEFINE_TYPE (LpfLoc, lpf_loc, G_TYPE_OBJECT) -#define GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), LPF_TYPE_LOC, LpfLocPrivate)) -typedef struct _LpfLocPrivate LpfLocPrivate; -struct _LpfLocPrivate { +typedef struct _LpfLocPrivate { gchar *name; gdouble long_; gdouble lat; gpointer opaque; -}; +} LpfLocPrivate; + +typedef struct _LpfLoc { + GObject parent; +} LpfLoc; + +G_DEFINE_TYPE_WITH_PRIVATE (LpfLoc, lpf_loc, G_TYPE_OBJECT) +#define GET_PRIVATE(o) lpf_loc_get_instance_private(o) static void lpf_loc_set_property (GObject *object, @@ -148,7 +151,6 @@ lpf_loc_class_init (LpfLocClass *klass) object_class->dispose = lpf_loc_dispose; object_class->finalize = lpf_loc_finalize; - g_type_class_add_private (klass, sizeof (LpfLocPrivate)); object_class->set_property = lpf_loc_set_property; object_class->get_property = lpf_loc_get_property; diff --git a/libplanfahr/lpf-loc.h b/libplanfahr/lpf-loc.h index aeecaf9..cfe6a5a 100644 --- a/libplanfahr/lpf-loc.h +++ b/libplanfahr/lpf-loc.h @@ -31,32 +31,10 @@ G_BEGIN_DECLS -#define LPF_TYPE_LOC lpf_loc_get_type() +#define LPF_TYPE_LOC (lpf_loc_get_type()) -#define LPF_LOC(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), LPF_TYPE_LOC, LpfLoc)) +G_DECLARE_FINAL_TYPE (LpfLoc, lpf_loc, LPF, LOC, GObject) -#define LPF_LOC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), LPF_TYPE_LOC, LpfLocClass)) - -#define LPF_IS_LOC(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LPF_TYPE_LOC)) - -#define LPF_IS_LOC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), LPF_TYPE_LOC)) - -#define LPF_LOC_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), LPF_TYPE_LOC, LpfLocClass)) - -typedef struct { - GObject parent; -} LpfLoc; - -typedef struct { - GObjectClass parent_class; -} LpfLocClass; - -GType lpf_loc_get_type (void); const gchar *lpf_loc_get_name (LpfLoc* self); double lpf_loc_get_lat (LpfLoc *self); double lpf_loc_get_long (LpfLoc *self); -- cgit v1.2.3