From: Takashi Sakamoto Date: Mon, 11 Apr 2022 08:42:26 +0000 (+0900) Subject: ctl: elem_info: use an utility macro to declare GObject-derived object X-Git-Tag: v0.3.0~221 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=e907de7a0a18e8565bc641900164a04d749e0860;p=alsa-gobject.git ctl: elem_info: use an utility macro to declare GObject-derived object Since gobject v2.44, an utility macro is available to declare GObject-derived objects. This commit replaces existent boireplates with it. Signed-off-by: Takashi Sakamoto --- diff --git a/src/ctl/elem-info.c b/src/ctl/elem-info.c index a2c30de..bf58211 100644 --- a/src/ctl/elem-info.c +++ b/src/ctl/elem-info.c @@ -14,7 +14,7 @@ * * The object wraps 'struct snd_ctl_elem_info' in UAPI of Linux sound subsystem. */ -struct _ALSACtlElemInfoPrivate { +typedef struct { struct snd_ctl_elem_info info; struct { @@ -23,7 +23,7 @@ struct _ALSACtlElemInfoPrivate { gint32 step; } int_data; gchar **enum_data; -}; +} ALSACtlElemInfoPrivate; G_DEFINE_TYPE_WITH_PRIVATE(ALSACtlElemInfo, alsactl_elem_info, G_TYPE_OBJECT) enum ctl_elem_info_prop_type { diff --git a/src/ctl/elem-info.h b/src/ctl/elem-info.h index b56058f..468978d 100644 --- a/src/ctl/elem-info.h +++ b/src/ctl/elem-info.h @@ -8,42 +8,12 @@ G_BEGIN_DECLS #define ALSACTL_TYPE_ELEM_INFO (alsactl_elem_info_get_type()) -#define ALSACTL_ELEM_INFO(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), \ - ALSACTL_TYPE_ELEM_INFO, \ - ALSACtlElemInfo)) -#define ALSACTL_IS_ELEM_INFO(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ - ALSACTL_TYPE_ELEM_INFO)) - -#define ALSACTL_ELEM_INFO_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), \ - ALSACTL_TYPE_ELEM_INFO, \ - ALSACtlElemInfoClass)) -#define ALSACTL_IS_ELEM_INFO_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), \ - ALSACTL_TYPE_ELEM_INFO)) -#define ALSACTL_ELEM_INFO_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS((obj), \ - ALSACTL_TYPE_ELEM_INFO, \ - ALSACtlElemInfoClass)) - -typedef struct _ALSACtlElemInfo ALSACtlElemInfo; -typedef struct _ALSACtlElemInfoClass ALSACtlElemInfoClass; -typedef struct _ALSACtlElemInfoPrivate ALSACtlElemInfoPrivate; - -struct _ALSACtlElemInfo { - GObject parent_instance; - - ALSACtlElemInfoPrivate *priv; -}; +G_DECLARE_DERIVABLE_TYPE(ALSACtlElemInfo, alsactl_elem_info, ALSACTL, ELEM_INFO, GObject); struct _ALSACtlElemInfoClass { GObjectClass parent_class; }; -GType alsactl_elem_info_get_type() G_GNUC_CONST; - ALSACtlElemInfo *alsactl_elem_info_new(ALSACtlElemType elem_type, GError **error); void alsactl_elem_info_get_int_data(ALSACtlElemInfo *self,