From 44ce5e8292d9bcd2acd9e73ce48cc7b1a3b7be4a Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Mon, 18 Nov 2019 13:22:44 +0900 Subject: [PATCH] rawmidi: substream_info: add object to represent information of substream Signed-off-by: Takashi Sakamoto --- src/rawmidi/alsarawmidi.map | 2 ++ src/rawmidi/meson.build | 2 ++ src/rawmidi/substream-info.c | 14 ++++++++++ src/rawmidi/substream-info.h | 47 ++++++++++++++++++++++++++++++++ tests/alsarawmidi-substream-info | 18 ++++++++++++ tests/meson.build | 1 + 6 files changed, 84 insertions(+) create mode 100644 src/rawmidi/substream-info.c create mode 100644 src/rawmidi/substream-info.h create mode 100644 tests/alsarawmidi-substream-info diff --git a/src/rawmidi/alsarawmidi.map b/src/rawmidi/alsarawmidi.map index 31d8eee..47d4da9 100644 --- a/src/rawmidi/alsarawmidi.map +++ b/src/rawmidi/alsarawmidi.map @@ -7,6 +7,8 @@ ALSA_GOBJECT_0_0_0 { "alsarawmidi_get_rawmidi_sysname"; "alsarawmidi_get_rawmidi_devnode"; "alsarawmidi_get_subdevice_id_list"; + + "alsarawmidi_substream_info_get_type"; local: *; }; diff --git a/src/rawmidi/meson.build b/src/rawmidi/meson.build index be7573b..e83b456 100644 --- a/src/rawmidi/meson.build +++ b/src/rawmidi/meson.build @@ -10,10 +10,12 @@ has_marshaller = false sources = files( 'query.c', + 'substream-info.c', ) headers = files( 'query.h', + 'substream-info.h', ) privates = files( diff --git a/src/rawmidi/substream-info.c b/src/rawmidi/substream-info.c new file mode 100644 index 0000000..82c0288 --- /dev/null +++ b/src/rawmidi/substream-info.c @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "substream-info.h" + +G_DEFINE_TYPE(ALSARawmidiSubstreamInfo, alsarawmidi_substream_info, G_TYPE_OBJECT) + +static void alsarawmidi_substream_info_class_init(ALSARawmidiSubstreamInfoClass *klass) +{ + return; +} + +static void alsarawmidi_substream_info_init(ALSARawmidiSubstreamInfo *self) +{ + return; +} diff --git a/src/rawmidi/substream-info.h b/src/rawmidi/substream-info.h new file mode 100644 index 0000000..dd3be01 --- /dev/null +++ b/src/rawmidi/substream-info.h @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSARAWMIDI_SUBSTREAM_INFO__H__ +#define __ALSA_GOBJECT_ALSARAWMIDI_SUBSTREAM_INFO__H__ + +#include +#include + +G_BEGIN_DECLS + +#define ALSARAWMIDI_TYPE_SUBSTREAM_INFO (alsarawmidi_substream_info_get_type()) + +#define ALSARAWMIDI_SUBSTREAM_INFO(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + ALSARAWMIDI_TYPE_SUBSTREAM_INFO, \ + ALSARawmidiSubstreamInfo)) +#define ALSARAWMIDI_IS_SUBSTREAM_INFO(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + ALSARAWMIDI_TYPE_SUBSTREAM_INFO)) + +#define ALSARAWMIDI_SUBSTREAM_INFO_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), \ + ALSARAWMIDI_TYPE_SUBSTREAM_INFO, \ + ALSARawmidiSubstreamInfoClass)) +#define ALSARAWMIDI_IS_SUBSTREAM_INFO_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), \ + ALSARAWMIDI_TYPE_SUBSTREAM_INFO)) +#define ALSARAWMIDI_SUBSTREAM_INFO_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), \ + ALSARAWMIDI_TYPE_SUBSTREAM_INFO, \ + ALSARawmidiSubstreamInfoClass)) + +typedef struct _ALSARawmidiSubstreamInfo ALSARawmidiSubstreamInfo; +typedef struct _ALSARawmidiSubstreamInfoClass ALSARawmidiSubstreamInfoClass; + +struct _ALSARawmidiSubstreamInfo { + GObject parent_instance; +}; + +struct _ALSARawmidiSubstreamInfoClass { + GObjectClass parent_class; +}; + +GType alsarawmidi_substream_info_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/tests/alsarawmidi-substream-info b/tests/alsarawmidi-substream-info new file mode 100644 index 0000000..cdf36c8 --- /dev/null +++ b/tests/alsarawmidi-substream-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('ALSARawmidi', '0.0') +from gi.repository import ALSARawmidi + +target = ALSARawmidi.SubstreamInfo() +props = () +methods = () +signals = () + +if not test(target, props, methods, signals): + exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index 57a1413..8ca61e2 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -51,6 +51,7 @@ tests = { ], 'rawmidi': [ 'alsarawmidi-enums', + 'alsarawmidi-substream-info', ], } -- 2.47.3