From 55ce9fee7663f6dc1aecab838602ac2198d6bba3 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Sun, 9 Feb 2020 12:20:53 +0900 Subject: [PATCH] timer: device_status: add object to represent status of timer device Signed-off-by: Takashi Sakamoto --- src/timer/alsatimer.map | 2 ++ src/timer/device-status.c | 13 ++++++++++ src/timer/device-status.h | 47 +++++++++++++++++++++++++++++++++++ src/timer/meson.build | 2 ++ tests/alsatimer-device-status | 18 ++++++++++++++ tests/meson.build | 1 + 6 files changed, 83 insertions(+) create mode 100644 src/timer/device-status.c create mode 100644 src/timer/device-status.h create mode 100644 tests/alsatimer-device-status diff --git a/src/timer/alsatimer.map b/src/timer/alsatimer.map index ab4a22a..ed05263 100644 --- a/src/timer/alsatimer.map +++ b/src/timer/alsatimer.map @@ -20,6 +20,8 @@ ALSA_GOBJECT_0_0_0 { "alsatimer_device_id_get_subdevice_id"; "alsatimer_device_info_get_type"; + + "alsatimer_device_status_get_type"; local: *; }; diff --git a/src/timer/device-status.c b/src/timer/device-status.c new file mode 100644 index 0000000..0cb5928 --- /dev/null +++ b/src/timer/device-status.c @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "device-status.h" + +G_DEFINE_TYPE(ALSATimerDeviceStatus, alsatimer_device_status, G_TYPE_OBJECT) + +static void alsatimer_device_status_class_init(ALSATimerDeviceStatusClass *klass) +{ +} + +static void alsatimer_device_status_init(ALSATimerDeviceStatus *self) +{ + return; +} diff --git a/src/timer/device-status.h b/src/timer/device-status.h new file mode 100644 index 0000000..70b4e09 --- /dev/null +++ b/src/timer/device-status.h @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSATIMER_DEVICE_STATUS__H__ +#define __ALSA_GOBJECT_ALSATIMER_DEVICE_STATUS__H__ + +#include +#include + +G_BEGIN_DECLS + +#define ALSATIMER_TYPE_DEVICE_STATUS (alsatimer_device_status_get_type()) + +#define ALSATIMER_DEVICE_STATUS(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + ALSATIMER_TYPE_DEVICE_STATUS, \ + ALSATimerDeviceStatus)) +#define ALSATIMER_IS_DEVICE_STATUS(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + ALSATIMER_TYPE_DEVICE_STATUS)) + +#define ALSATIMER_DEVICE_STATUS_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), \ + ALSATIMER_TYPE_DEVICE_STATUS, \ + ALSATimerDeviceStatusClass)) +#define ALSATIMER_IS_DEVICE_STATUS_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), \ + ALSATIMER_TYPE_DEVICE_STATUS)) +#define ALSATIMER_DEVICE_STATUS_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), \ + ALSATIMER_TYPE_DEVICE_STATUS, \ + ALSATimerDeviceStatusClass)) + +typedef struct _ALSATimerDeviceStatus ALSATimerDeviceStatus; +typedef struct _ALSATimerDeviceStatusClass ALSATimerDeviceStatusClass; + +struct _ALSATimerDeviceStatus { + GObject parent_instance; +}; + +struct _ALSATimerDeviceStatusClass { + GObjectClass parent_class; +}; + +GType alsatimer_device_status_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/src/timer/meson.build b/src/timer/meson.build index 077eef2..131b7bc 100644 --- a/src/timer/meson.build +++ b/src/timer/meson.build @@ -12,12 +12,14 @@ sources = files( 'query.c', 'device-id.c', 'device-info.c', + 'device-status.c', ) headers = files( 'query.h', 'device-id.h', 'device-info.h', + 'device-status.h', ) privates = files( diff --git a/tests/alsatimer-device-status b/tests/alsatimer-device-status new file mode 100644 index 0000000..cfa1ce9 --- /dev/null +++ b/tests/alsatimer-device-status @@ -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.DeviceStatus() +props = () +methods = () +signals = () + +if not test(target, props, methods, signals): + exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index d9fe90d..86ded7e 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -18,6 +18,7 @@ tests = { 'timer': [ 'alsatimer-enums', 'alsatimer-device-info', + 'alsatimer-device-status', ], } -- 2.47.3