From: Takashi Sakamoto Date: Mon, 11 Apr 2022 08:42:26 +0000 (+0900) Subject: ctl: card: use an utility macro to declare GObject-derived object X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=0962a87cabc9a6d2e5774957519c8b79f272e657;p=alsa-gobject.git ctl: card: 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/card.c b/src/ctl/card.c index 77157eb..91c6708 100644 --- a/src/ctl/card.c +++ b/src/ctl/card.c @@ -22,12 +22,12 @@ * After the call of alsactl_card_open() for the numerical ID of sound card, * the object maintains file descriptor till object destruction. */ -struct _ALSACtlCardPrivate { +typedef struct { int fd; char *devnode; gint subscribers; guint16 proto_ver_triplet[3]; -}; +} ALSACtlCardPrivate; G_DEFINE_TYPE_WITH_PRIVATE(ALSACtlCard, alsactl_card, G_TYPE_OBJECT) /** @@ -949,7 +949,7 @@ void alsactl_card_write_elem_value(ALSACtlCard *self, priv = alsactl_card_get_instance_private(self); g_return_if_fail(elem_id != NULL); - g_return_if_fail(ALSACTL_IS_ELEM_VALUE(elem_value)); + g_return_if_fail(ALSACTL_IS_ELEM_VALUE((ALSACtlElemValue *)elem_value)); g_return_if_fail(error == NULL || *error == NULL); ctl_elem_value_refer_private((ALSACtlElemValue *)elem_value, &value); diff --git a/src/ctl/card.h b/src/ctl/card.h index 6d51a35..c6e730c 100644 --- a/src/ctl/card.h +++ b/src/ctl/card.h @@ -8,39 +8,11 @@ G_BEGIN_DECLS #define ALSACTL_TYPE_CARD (alsactl_card_get_type()) -#define ALSACTL_CARD(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), \ - ALSACTL_TYPE_CARD, \ - ALSACtlCard)) -#define ALSACTL_IS_CARD(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ - ALSACTL_TYPE_CARD)) - -#define ALSACTL_CARD_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), \ - ALSACTL_TYPE_CARD, \ - ALSACtlCardClass)) -#define ALSACTL_IS_CARD_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), \ - ALSACTL_TYPE_CARD)) -#define ALSACTL_CARD_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS((obj), \ - ALSACTL_TYPE_CARD, \ - ALSACtlCardClass)) - -#define ALSACTL_CARD_ERROR alsactl_card_error_quark() +G_DECLARE_DERIVABLE_TYPE(ALSACtlCard, alsactl_card, ALSACTL, CARD, GObject); -GQuark alsactl_card_error_quark(); - -typedef struct _ALSACtlCard ALSACtlCard; -typedef struct _ALSACtlCardClass ALSACtlCardClass; -typedef struct _ALSACtlCardPrivate ALSACtlCardPrivate; - -struct _ALSACtlCard { - GObject parent_instance; +#define ALSACTL_CARD_ERROR alsactl_card_error_quark() - ALSACtlCardPrivate *priv; -}; +GQuark alsactl_card_error_quark(); struct _ALSACtlCardClass { GObjectClass parent_class; @@ -68,8 +40,6 @@ struct _ALSACtlCardClass { void (*handle_disconnection)(ALSACtlCard *self); }; -GType alsactl_card_get_type() G_GNUC_CONST; - ALSACtlCard *alsactl_card_new(); void alsactl_card_open(ALSACtlCard *self, guint card_id, gint open_flag, diff --git a/src/meson.build b/src/meson.build index 78f9040..10c760b 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,6 +1,6 @@ # Depends on glib-2.0 and gobject-2.0 gobject_dependency = dependency('gobject-2.0', - version: '>=2.34.0' + version: '>=2.44.0' ) libudev_dependency = dependency('libudev')