From: Takashi Sakamoto Date: Wed, 10 Jun 2020 01:15:50 +0000 (+0900) Subject: timer: add boxed object to represent union of two timer events X-Git-Tag: v0.1.0~92 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=004d3e34827b9ec5c3f1c33de1c1e01095857764;p=alsa-gobject.git timer: add boxed object to represent union of two timer events Signed-off-by: Takashi Sakamoto --- diff --git a/src/timer/alsatimer.map b/src/timer/alsatimer.map index 661b75e..179a2a6 100644 --- a/src/timer/alsatimer.map +++ b/src/timer/alsatimer.map @@ -59,6 +59,8 @@ ALSA_GOBJECT_0_0_0 { "alsatimer_event_data_timestamp_get_type"; "alsatimer_event_data_timestamp_get_timestamp"; + + "alsatimer_event_get_type"; local: *; }; diff --git a/src/timer/event.c b/src/timer/event.c new file mode 100644 index 0000000..988188a --- /dev/null +++ b/src/timer/event.c @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "event.h" + +ALSATimerEvent *timer_event_copy(const ALSATimerEvent *self) +{ + return g_memdup(self, sizeof(*self)); +} + +G_DEFINE_BOXED_TYPE(ALSATimerEvent, alsatimer_event, timer_event_copy, g_free) diff --git a/src/timer/event.h b/src/timer/event.h new file mode 100644 index 0000000..169db79 --- /dev/null +++ b/src/timer/event.h @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSATIMER_EVENT__H__ +#define __ALSA_GOBJECT_ALSATIMER_EVENT__H__ + +#include +#include + +#include + +G_BEGIN_DECLS + +#define ALSATIMER_TYPE_EVENT (alsatimer_event_get_type()) + +typedef union { + struct snd_timer_read tick; + struct snd_timer_tread timestamp; +} ALSATimerEvent; + +GType alsatimer_event_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/src/timer/meson.build b/src/timer/meson.build index 3003950..0ffa9eb 100644 --- a/src/timer/meson.build +++ b/src/timer/meson.build @@ -21,6 +21,7 @@ sources = files( 'event-data.c', 'event-data-tick.c', 'event-data-timestamp.c', + 'event.c', ) headers = files( @@ -36,6 +37,7 @@ headers = files( 'event-data.h', 'event-data-tick.h', 'event-data-timestamp.h', + 'event.h', ) privates = files(