]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: elem_value: 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)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 11 Apr 2022 08:42:26 +0000 (17: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/elem-value.c
src/ctl/elem-value.h

index f09ec9dda5c086012f33449977eaa5bed58e5c61..2bf6f82bafba6184c6088714376c786184ddc354 100644 (file)
@@ -15,9 +15,9 @@
  *
  * The object wraps 'struct snd_ctl_elem_value' in UAPI of Linux sound subsystem.
  */
-struct _ALSACtlElemValuePrivate {
+typedef struct {
     struct snd_ctl_elem_value value;
-};
+} ALSACtlElemValuePrivate;
 G_DEFINE_TYPE_WITH_PRIVATE(ALSACtlElemValue, alsactl_elem_value, G_TYPE_OBJECT)
 
 enum ctl_elem_value_prop_type {
@@ -478,8 +478,8 @@ gboolean alsactl_elem_value_equal(const ALSACtlElemValue *self,
                                   const ALSACtlElemValue *target) {
     const ALSACtlElemValuePrivate *lhs, *rhs;
 
-    g_return_val_if_fail(ALSACTL_IS_ELEM_VALUE(self), FALSE);
-    g_return_val_if_fail(ALSACTL_IS_ELEM_VALUE(target), FALSE);
+    g_return_val_if_fail(ALSACTL_IS_ELEM_VALUE((ALSACtlElemValue *)self), FALSE);
+    g_return_val_if_fail(ALSACTL_IS_ELEM_VALUE((ALSACtlElemValue *)target), FALSE);
     lhs = alsactl_elem_value_get_instance_private((ALSACtlElemValue *)self);
     rhs = alsactl_elem_value_get_instance_private((ALSACtlElemValue *)target);
 
index 31a06661c69497836cb53cbeaedb979a0d6c24dd..b87107b328ee433bd8c310d261a50fd5ffe833d0 100644 (file)
@@ -8,42 +8,12 @@ G_BEGIN_DECLS
 
 #define ALSACTL_TYPE_ELEM_VALUE     (alsactl_elem_value_get_type())
 
-#define ALSACTL_ELEM_VALUE(obj)                             \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj),                      \
-                                ALSACTL_TYPE_ELEM_VALUE,    \
-                                ALSACtlElemValue))
-#define ALSACTL_IS_ELEM_VALUE(obj)                          \
-    (G_TYPE_CHECK_INSTANCE_TYPE((obj),                      \
-                                ALSACTL_TYPE_ELEM_VALUE))
-
-#define ALSACTL_ELEM_VALUE_CLASS(klass)                     \
-    (G_TYPE_CHECK_CLASS_CAST((klass),                       \
-                             ALSACTL_TYPE_ELEM_VALUE,       \
-                             ALSACtlElemValueClass))
-#define ALSACTL_IS_ELEM_VALUE_CLASS(klass)                  \
-    (G_TYPE_CHECK_CLASS_TYPE((klass),                       \
-                             ALSACTL_TYPE_ELEM_VALUE))
-#define ALSACTL_ELEM_VALUE_GET_CLASS(obj)                   \
-    (G_TYPE_INSTANCE_GET_CLASS((obj),                       \
-                               ALSACTL_TYPE_ELEM_VALUE,     \
-                               ALSACtlElemValueClass))
-
-typedef struct _ALSACtlElemValue         ALSACtlElemValue;
-typedef struct _ALSACtlElemValueClass    ALSACtlElemValueClass;
-typedef struct _ALSACtlElemValuePrivate  ALSACtlElemValuePrivate;
-
-struct _ALSACtlElemValue {
-    GObject parent_instance;
-
-    ALSACtlElemValuePrivate *priv;
-};
+G_DECLARE_DERIVABLE_TYPE(ALSACtlElemValue, alsactl_elem_value, ALSACTL, ELEM_VALUE, GObject);
 
 struct _ALSACtlElemValueClass {
     GObjectClass parent_class;
 };
 
-GType alsactl_elem_value_get_type() G_GNUC_CONST;
-
 ALSACtlElemValue *alsactl_elem_value_new();
 
 void alsactl_elem_value_set_bool(ALSACtlElemValue *self,