]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
timer: event_data_tstamp: add accessor APIs for tstamp event
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 10 Jun 2020 03:36:46 +0000 (12:36 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Fri, 12 Jun 2020 00:00:43 +0000 (09:00 +0900)
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/timer/alsatimer.map
src/timer/event-data-tstamp.c
src/timer/event-data-tstamp.h

index 653b7e15d419616078cb849d03dc9609692d3fe9..107010163bbe2e21987e5e6f9380d0ea29739d85 100644 (file)
@@ -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:
index b8e791e50409c0243590961640448fc8b0ca7cbe..8cd09fb29f350f700905e2001ca0c159ff271541 100644 (file)
@@ -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;
+}
index 06a1997cbcc901c95a96dc16912810300a9588d9..c3d9bf6cd18c0ee7a77d3a58a87ccaa1ac26dadf 100644 (file)
@@ -5,6 +5,8 @@
 #include <glib.h>
 #include <glib-object.h>
 
+#include <timer/alsatimer-enums.h>
+
 #include <sound/asound.h>
 
 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