aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2022-04-11 17:41:05 +0900
committer坂本 貴史 <o-takashi@sakamocchi.jp>2022-04-12 12:42:41 +0900
commit1a10e4b1a800e50de21ca45fd5f4f6f8283a774b (patch)
treeaaa6b5968d2cd5ed8c182cec7bffb0a75004a65b
parent3d4a837bcc8ec6414ce738ca78e3edfb97e15c8a (diff)
downloadlibhinawa-1a10e4b1a800e50de21ca45fd5f4f6f8283a774b.tar.gz
snd_efw: use an utility macro to declare GObject-derived object
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>
-rw-r--r--src/snd_efw.c4
-rw-r--r--src/snd_efw.h32
2 files changed, 3 insertions, 33 deletions
diff --git a/src/snd_efw.c b/src/snd_efw.c
index f11ba05..d3705a2 100644
--- a/src/snd_efw.c
+++ b/src/snd_efw.c
@@ -51,10 +51,10 @@ static const char *const efw_status_names[] = {
#define generate_local_error(exception, code) \
g_set_error_literal(exception, HINAWA_SND_EFW_ERROR, code, efw_status_names[code])
-struct _HinawaSndEfwPrivate {
+typedef struct {
guint seqnum;
GMutex lock;
-};
+} HinawaSndEfwPrivate;
G_DEFINE_TYPE_WITH_PRIVATE(HinawaSndEfw, hinawa_snd_efw, HINAWA_TYPE_SND_UNIT)
enum efw_sig_type {
diff --git a/src/snd_efw.h b/src/snd_efw.h
index ff57e42..14e6d5e 100644
--- a/src/snd_efw.h
+++ b/src/snd_efw.h
@@ -8,40 +8,12 @@ G_BEGIN_DECLS
#define HINAWA_TYPE_SND_EFW (hinawa_snd_efw_get_type())
-#define HINAWA_SND_EFW(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- HINAWA_TYPE_SND_EFW, \
- HinawaSndEfw))
-#define HINAWA_IS_SND_EFW(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
- HINAWA_TYPE_SND_EFW))
-
-#define HINAWA_SND_EFW_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), \
- HINAWA_TYPE_SND_EFW, \
- HinawaSndEfwClass))
-#define HINAWA_IS_SND_EFW_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), \
- HINAWA_TYPE_SND_EFW))
-#define HINAWA_SND_EFW_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), \
- HINAWA_TYPE_SND_EFW, \
- HinawaSndEfwClass))
+G_DECLARE_DERIVABLE_TYPE(HinawaSndEfw, hinawa_snd_efw, HINAWA, SND_EFW, HinawaSndUnit);
#define HINAWA_SND_EFW_ERROR hinawa_snd_efw_error_quark()
GQuark hinawa_snd_efw_error_quark();
-typedef struct _HinawaSndEfw HinawaSndEfw;
-typedef struct _HinawaSndEfwClass HinawaSndEfwClass;
-typedef struct _HinawaSndEfwPrivate HinawaSndEfwPrivate;
-
-struct _HinawaSndEfw {
- HinawaSndUnit parent_instance;
-
- HinawaSndEfwPrivate *priv;
-};
-
struct _HinawaSndEfwClass {
HinawaSndUnitClass parent_class;
@@ -67,8 +39,6 @@ struct _HinawaSndEfwClass {
guint category, guint command, const guint32 *frame, guint frame_size);
};
-GType hinawa_snd_efw_get_type(void) G_GNUC_CONST;
-
HinawaSndEfw *hinawa_snd_efw_new(void);
void hinawa_snd_efw_open(HinawaSndEfw *self, gchar *path, GError **exception);