]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: card: use an utility macro to declare GObject-derived object
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 11 Apr 2022 08:42:26 +0000 (17:42 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Tue, 12 Apr 2022 03:42:19 +0000 (12:42 +0900)
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 <o-takashi@sakamocchi.jp>
src/ctl/card.c
src/ctl/card.h
src/meson.build

index 77157ebd8f17b82b7baf2df3d5349e46056be946..91c6708df7a6d96e145284257dba635d67dcd2d3 100644 (file)
  * 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);
index 6d51a35249216da329cefccbb5933947b86e16bd..c6e730c9d4f14f16a707d054b95240f37d1b6bb1 100644 (file)
@@ -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,
index 78f9040f7910bdd8c3c71c21706ed45f47a6285a..10c760bf2e521b51f9148d365eec1b2221f20485 100644 (file)
@@ -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')