From f801ea31a2fa68c250945ff7f169270b8867db33 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Sun, 9 Feb 2020 12:20:53 +0900 Subject: [PATCH] timer: user_instance: add object to represent user instance for timer device Signed-off-by: Takashi Sakamoto --- src/timer/alsatimer.map | 3 +++ src/timer/meson.build | 2 ++ src/timer/user-instance.c | 19 ++++++++++++++ src/timer/user-instance.h | 49 +++++++++++++++++++++++++++++++++++ tests/alsatimer-user-instance | 20 ++++++++++++++ tests/meson.build | 1 + 6 files changed, 94 insertions(+) create mode 100644 src/timer/user-instance.c create mode 100644 src/timer/user-instance.h create mode 100644 tests/alsatimer-user-instance diff --git a/src/timer/alsatimer.map b/src/timer/alsatimer.map index 0dbab88..b3d6eae 100644 --- a/src/timer/alsatimer.map +++ b/src/timer/alsatimer.map @@ -26,6 +26,9 @@ ALSA_GOBJECT_0_0_0 { "alsatimer_device_params_get_type"; "alsatimer_device_params_new"; + + "alsatimer_user_instance_get_type"; + "alsatimer_user_instance_new"; local: *; }; diff --git a/src/timer/meson.build b/src/timer/meson.build index e2bebc9..849c5ab 100644 --- a/src/timer/meson.build +++ b/src/timer/meson.build @@ -14,6 +14,7 @@ sources = files( 'device-info.c', 'device-status.c', 'device-params.c', + 'user-instance.c', ) headers = files( @@ -22,6 +23,7 @@ headers = files( 'device-info.h', 'device-status.h', 'device-params.h', + 'user-instance.h', ) privates = files( diff --git a/src/timer/user-instance.c b/src/timer/user-instance.c new file mode 100644 index 0000000..d8e873d --- /dev/null +++ b/src/timer/user-instance.c @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "user-instance.h" + +G_DEFINE_TYPE(ALSATimerUserInstance, alsatimer_user_instance, G_TYPE_OBJECT) + +static void alsatimer_user_instance_class_init(ALSATimerUserInstanceClass *klass) +{ + return; +} + +static void alsatimer_user_instance_init(ALSATimerUserInstance *self) +{ + return; +} + +ALSATimerUserInstance *alsatimer_user_instance_new() +{ + return g_object_new(ALSATIMER_TYPE_USER_INSTANCE, NULL); +} diff --git a/src/timer/user-instance.h b/src/timer/user-instance.h new file mode 100644 index 0000000..141d798 --- /dev/null +++ b/src/timer/user-instance.h @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSATIMER_USER_INSTANCE__H__ +#define __ALSA_GOBJECT_ALSATIMER_USER_INSTANCE__H__ + +#include +#include + +G_BEGIN_DECLS + +#define ALSATIMER_TYPE_USER_INSTANCE (alsatimer_user_instance_get_type()) + +#define ALSATIMER_USER_INSTANCE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + ALSATIMER_TYPE_USER_INSTANCE, \ + ALSATimerUserInstance)) +#define ALSATIMER_IS_USER_INSTANCE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + ALSATIMER_TYPE_USER_INSTANCE)) + +#define ALSATIMER_USER_INSTANCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), \ + ALSATIMER_TYPE_USER_INSTANCE, \ + ALSATimerUserInstanceClass)) +#define ALSATIMER_IS_USER_INSTANCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), \ + ALSATIMER_TYPE_USER_INSTANCE)) +#define ALSATIMER_USER_INSTANCE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), \ + ALSATIMER_TYPE_USER_INSTANCE, \ + ALSATimerUserInstanceClass)) + +typedef struct _ALSATimerUserInstance ALSATimerUserInstance; +typedef struct _ALSATimerUserInstanceClass ALSATimerUserInstanceClass; + +struct _ALSATimerUserInstance { + GObject parent_instance; +}; + +struct _ALSATimerUserInstanceClass { + GObjectClass parent_class; +}; + +GType alsatimer_user_instance_get_type() G_GNUC_CONST; + +ALSATimerUserInstance *alsatimer_user_instance_new(); + +G_END_DECLS + +#endif diff --git a/tests/alsatimer-user-instance b/tests/alsatimer-user-instance new file mode 100644 index 0000000..60cbcf0 --- /dev/null +++ b/tests/alsatimer-user-instance @@ -0,0 +1,20 @@ +#!/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.UserInstance() +props = () +methods = ( + 'new', +) +signals = () + +if not test(target, props, methods, signals): + exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index 603a9dc..e77e47f 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -20,6 +20,7 @@ tests = { 'alsatimer-device-info', 'alsatimer-device-status', 'alsatimer-device-params', + 'alsatimer-user-instance', ], } -- 2.47.3