From 3e1fcbcd1de74c047866bb68acef8cd63f085116 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Sun, 9 Feb 2020 12:20:53 +0900 Subject: [PATCH] timer: event_timestamp: add derived object for timestamp event Signed-off-by: Takashi Sakamoto --- src/timer/alsatimer.map | 2 ++ src/timer/event-data-timestamp.c | 13 ++++++++ src/timer/event-data-timestamp.h | 49 ++++++++++++++++++++++++++++ src/timer/meson.build | 2 ++ tests/alsatimer-event-data-timestamp | 18 ++++++++++ tests/meson.build | 1 + 6 files changed, 85 insertions(+) create mode 100644 src/timer/event-data-timestamp.c create mode 100644 src/timer/event-data-timestamp.h create mode 100644 tests/alsatimer-event-data-timestamp diff --git a/src/timer/alsatimer.map b/src/timer/alsatimer.map index a05f59c..ce5869f 100644 --- a/src/timer/alsatimer.map +++ b/src/timer/alsatimer.map @@ -51,6 +51,8 @@ ALSA_GOBJECT_0_0_0 { "alsatimer_event_data_get_type"; "alsatimer_event_data_tick_get_type"; + + "alsatimer_event_data_timestamp_get_type"; local: *; }; diff --git a/src/timer/event-data-timestamp.c b/src/timer/event-data-timestamp.c new file mode 100644 index 0000000..3307e23 --- /dev/null +++ b/src/timer/event-data-timestamp.c @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "event-data-timestamp.h" + +G_DEFINE_TYPE(ALSATimerEventDataTimestamp, alsatimer_event_data_timestamp, ALSATIMER_TYPE_EVENT_DATA) + +static void alsatimer_event_data_timestamp_class_init(ALSATimerEventDataTimestampClass *klass) +{ +} + +static void alsatimer_event_data_timestamp_init(ALSATimerEventDataTimestamp *self) +{ + return; +} diff --git a/src/timer/event-data-timestamp.h b/src/timer/event-data-timestamp.h new file mode 100644 index 0000000..d10fb08 --- /dev/null +++ b/src/timer/event-data-timestamp.h @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSATIMER_EVENT_DATA_TIMESTAMP__H__ +#define __ALSA_GOBJECT_ALSATIMER_EVENT_DATA_TIMESTAMP__H__ + +#include +#include + +#include + +G_BEGIN_DECLS + +#define ALSATIMER_TYPE_EVENT_DATA_TIMESTAMP (alsatimer_event_data_timestamp_get_type()) + +#define ALSATIMER_EVENT_DATA_TIMESTAMP(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + ALSATIMER_TYPE_EVENT_DATA_TIMESTAMP, \ + ALSATimerEventDataTimestamp)) +#define ALSATIMER_IS_EVENT_DATA_TIMESTAMP(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + ALSATIMER_TYPE_EVENT_DATA_TIMESTAMP)) + +#define ALSATIMER_EVENT_DATA_TIMESTAMP_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), \ + ALSATIMER_TYPE_EVENT_DATA_TIMESTAMP, \ + ALSATimerEventDataTimestampClass)) +#define ALSATIMER_IS_EVENT_DATA_TIMESTAMP_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), \ + ALSATIMER_TYPE_EVENT_DATA_TIMESTAMP)) +#define ALSATIMER_EVENT_DATA_TIMESTAMP_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), \ + ALSATIMER_TYPE_EVENT_DATA_TIMESTAMP, \ + ALSATimerEventDataTimestampkClass)) + +typedef struct _ALSATimerEventDataTimestamp ALSATimerEventDataTimestamp; +typedef struct _ALSATimerEventDataTimestampClass ALSATimerEventDataTimestampClass; + +struct _ALSATimerEventDataTimestamp { + ALSATimerEventData parent_instance; +}; + +struct _ALSATimerEventDataTimestampClass { + ALSATimerEventDataClass parent_class; +}; + +GType alsatimer_event_data_timestamp_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/src/timer/meson.build b/src/timer/meson.build index 149c72a..489201e 100644 --- a/src/timer/meson.build +++ b/src/timer/meson.build @@ -20,6 +20,7 @@ sources = files( 'instance-status.c', 'event-data.c', 'event-data-tick.c', + 'event-data-timestamp.c', ) headers = files( @@ -34,6 +35,7 @@ headers = files( 'instance-status.h', 'event-data.h', 'event-data-tick.h', + 'event-data-timestamp.h', ) privates = files( diff --git a/tests/alsatimer-event-data-timestamp b/tests/alsatimer-event-data-timestamp new file mode 100644 index 0000000..78d1bd2 --- /dev/null +++ b/tests/alsatimer-event-data-timestamp @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +from sys import exit +from errno import ENXIO + +from helper import test + +import gi +gi.require_version('ALSATimer', '0.0') +from gi.repository import ALSATimer + +target = ALSATimer.EventDataTimestamp() +props = () +methods = () +signals = () + +if not test(target, props, methods, signals): + exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index a3fa27c..cb8972a 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -26,6 +26,7 @@ tests = { 'alsatimer-instance-status', 'alsatimer-event-data', 'alsatimer-event-data-tick', + 'alsatimer-event-data-timestamp', ], } -- 2.47.3