* 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)
/**
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);
#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;
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,