]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: elem_info: 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-info.c
src/ctl/elem-info.h

index a2c30deb409e3c13d356e322237e679aeb6a4602..bf58211415a04eb27ee440d83d4c51e5a16a007d 100644 (file)
@@ -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 {
index b56058f2526c6770298bfe82419e0653ec777e5a..468978d3bb1753267cdfba16a048fffebe4e5635 100644 (file)
@@ -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,