From e029d070c301124e601df9fed19e3b10d9fdc542 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Wed, 20 Nov 2019 17:03:37 +0900 Subject: [PATCH] seq: queue_info: add object to represent information of queue Signed-off-by: Takashi Sakamoto --- src/seq/alsaseq.map | 2 ++ src/seq/meson.build | 2 ++ src/seq/privates.h | 1 + src/seq/queue-info.c | 14 ++++++++++++ src/seq/queue-info.h | 47 ++++++++++++++++++++++++++++++++++++++++ tests/alsaseq-queue-info | 18 +++++++++++++++ tests/meson.build | 1 + 7 files changed, 85 insertions(+) create mode 100644 src/seq/queue-info.c create mode 100644 src/seq/queue-info.h create mode 100644 tests/alsaseq-queue-info diff --git a/src/seq/alsaseq.map b/src/seq/alsaseq.map index f4ee99d..105a1fe 100644 --- a/src/seq/alsaseq.map +++ b/src/seq/alsaseq.map @@ -130,6 +130,8 @@ ALSA_GOBJECT_0_0_0 { "alsaseq_subscribe_data_get_type"; "alsaseq_subscribe_data_new"; + + "alsaseq_queue_info_get_type"; local: *; }; diff --git a/src/seq/meson.build b/src/seq/meson.build index ea37cf5..c3a27ac 100644 --- a/src/seq/meson.build +++ b/src/seq/meson.build @@ -26,6 +26,7 @@ sources = files( 'event-data-queue.c', 'event-data-connect.c', 'subscribe-data.c', + 'queue-info.c', ) headers = files( @@ -46,6 +47,7 @@ headers = files( 'event-data-queue.h', 'event-data-connect.h', 'subscribe-data.h', + 'queue-info.h', ) privates = files( diff --git a/src/seq/privates.h b/src/seq/privates.h index 78e957c..1b5c370 100644 --- a/src/seq/privates.h +++ b/src/seq/privates.h @@ -13,6 +13,7 @@ #include "client-pool.h" #include "event.h" #include "subscribe-data.h" +#include "queue-info.h" #include diff --git a/src/seq/queue-info.c b/src/seq/queue-info.c new file mode 100644 index 0000000..2ba1377 --- /dev/null +++ b/src/seq/queue-info.c @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "queue-info.h" + +G_DEFINE_TYPE(ALSASeqQueueInfo, alsaseq_queue_info, G_TYPE_OBJECT) + +static void alsaseq_queue_info_class_init(ALSASeqQueueInfoClass *klass) +{ + return; +} + +static void alsaseq_queue_info_init(ALSASeqQueueInfo *self) +{ + return; +} diff --git a/src/seq/queue-info.h b/src/seq/queue-info.h new file mode 100644 index 0000000..aa2bcad --- /dev/null +++ b/src/seq/queue-info.h @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSASEQ_QUEUE_INFO__H__ +#define __ALSA_GOBJECT_ALSASEQ_QUEUE_INFO__H__ + +#include +#include + +G_BEGIN_DECLS + +#define ALSASEQ_TYPE_QUEUE_INFO (alsaseq_queue_info_get_type()) + +#define ALSASEQ_QUEUE_INFO(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + ALSASEQ_TYPE_QUEUE_INFO, \ + ALSASeqQueueInfo)) +#define ALSASEQ_IS_QUEUE_INFO(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + ALSASEQ_TYPE_QUEUE_INFO)) + +#define ALSASEQ_QUEUE_INFO_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), \ + ALSASEQ_TYPE_QUEUE_INFO, \ + ALSASeqQueueInfoClass)) +#define ALSASEQ_IS_QUEUE_INFO_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), \ + ALSASEQ_TYPE_QUEUE_INFO)) +#define ALSASEQ_QUEUE_INFO_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), \ + ALSASEQ_TYPE_QUEUE_INFO, \ + ALSASeqQueueInfoClass)) + +typedef struct _ALSASeqQueueInfo ALSASeqQueueInfo; +typedef struct _ALSASeqQueueInfoClass ALSASeqQueueInfoClass; + +struct _ALSASeqQueueInfo { + GObject parent_instance; +}; + +struct _ALSASeqQueueInfoClass { + GObjectClass parent_class; +}; + +GType alsaseq_queue_info_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/tests/alsaseq-queue-info b/tests/alsaseq-queue-info new file mode 100644 index 0000000..ec38757 --- /dev/null +++ b/tests/alsaseq-queue-info @@ -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('ALSASeq', '0.0') +from gi.repository import ALSASeq + +target = ALSASeq.QueueInfo() +props = () +methods = () +signals = () + +if not test(target, props, methods, signals): + exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index 0524e43..274da58 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -39,6 +39,7 @@ tests = { 'alsaseq-event-fixed', 'alsaseq-event-variable', 'alsaseq-subscribe-data', + 'alsaseq-queue-info', ], } -- 2.47.3