*
* 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 {
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 {
#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,