From ca33c9d211711c06193829c4a76743d367b13e68 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Wed, 10 Jun 2020 12:36:46 +0900 Subject: [PATCH] timer: event_data_tstamp: add accessor APIs for tstamp event Signed-off-by: Takashi Sakamoto --- src/timer/alsatimer.map | 3 +++ src/timer/event-data-tstamp.c | 41 +++++++++++++++++++++++++++++++++++ src/timer/event-data-tstamp.h | 11 ++++++++++ 3 files changed, 55 insertions(+) diff --git a/src/timer/alsatimer.map b/src/timer/alsatimer.map index 653b7e1..1070101 100644 --- a/src/timer/alsatimer.map +++ b/src/timer/alsatimer.map @@ -60,6 +60,9 @@ ALSA_GOBJECT_0_0_0 { "alsatimer_event_data_tick_get_ticks"; "alsatimer_event_data_tstamp_get_type"; + "alsatimer_event_data_tstamp_get_event"; + "alsatimer_event_data_tstamp_get_tstamp"; + "alsatimer_event_data_tstamp_get_val"; "alsatimer_event_get_type"; local: diff --git a/src/timer/event-data-tstamp.c b/src/timer/event-data-tstamp.c index b8e791e..8cd09fb 100644 --- a/src/timer/event-data-tstamp.c +++ b/src/timer/event-data-tstamp.c @@ -19,3 +19,44 @@ ALSATimerEventDataTstamp *timer_event_data_tstamp_copy(const ALSATimerEventDataT } G_DEFINE_BOXED_TYPE(ALSATimerEventDataTstamp, alsatimer_event_data_tstamp, timer_event_data_tstamp_copy, g_free) + +/** + * alsatimer_event_data_tstamp_get_event: + * @self: A #ALSATimerEventDataTstamp. + * @event: (out): The type of tstamp event, one of ALSATimerEventType. + * + * Get the kind of event for the timestamp event. + */ +void alsatimer_event_data_tstamp_get_event(ALSATimerEventDataTstamp *self, + ALSATimerEventType *event) +{ + *event = (ALSATimerEventType)self->event; +} + +/** + * alsatimer_event_data_tstamp_get_tstamp: + * @self: A #ALSATimerEventDataTstamp. + * @tv_sec: (out): The seconds part of timestamp. + * @tv_nsec: (out): The nanoseconds part of timestamp. + * + * Get the seconds and nanoseconds part for the timestamp event. + */ +void alsatimer_event_data_tstamp_get_tstamp(ALSATimerEventDataTstamp *self, + guint *tv_sec, guint *tv_nsec) +{ + *tv_sec = (guint)self->tstamp.tv_sec; + *tv_nsec = (guint)self->tstamp.tv_nsec; +} + +/** + * alsatimer_event_data_tstamp_get_val: + * @self: A #ALSATimerEventDataTstamp. + * @val: (out): The value depending on the type of timestamp event. + * + * Get the value depending on the type of timestamp event. + */ +void alsatimer_event_data_tstamp_get_val(ALSATimerEventDataTstamp *self, + guint *val) +{ + *val = self->val; +} diff --git a/src/timer/event-data-tstamp.h b/src/timer/event-data-tstamp.h index 06a1997..c3d9bf6 100644 --- a/src/timer/event-data-tstamp.h +++ b/src/timer/event-data-tstamp.h @@ -5,6 +5,8 @@ #include #include +#include + #include G_BEGIN_DECLS @@ -15,6 +17,15 @@ typedef struct snd_timer_tread ALSATimerEventDataTstamp; GType alsatimer_event_data_tstamp_get_type() G_GNUC_CONST; +void alsatimer_event_data_tstamp_get_event(ALSATimerEventDataTstamp *self, + ALSATimerEventType *event); + +void alsatimer_event_data_tstamp_get_tstamp(ALSATimerEventDataTstamp *self, + guint *tv_sec, guint *tv_nsec); + +void alsatimer_event_data_tstamp_get_val(ALSATimerEventDataTstamp *self, + guint *val); + G_END_DECLS #endif -- 2.47.3