]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
rawmidi: substream_info: add object to represent information of substream
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 18 Nov 2019 04:22:44 +0000 (13:22 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Sun, 12 Apr 2020 05:30:33 +0000 (14:30 +0900)
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/rawmidi/alsarawmidi.map
src/rawmidi/meson.build
src/rawmidi/substream-info.c [new file with mode: 0644]
src/rawmidi/substream-info.h [new file with mode: 0644]
tests/alsarawmidi-substream-info [new file with mode: 0644]
tests/meson.build

index 31d8eeed70b4122962033824c49cc039c3401458..47d4da97da0ee729e2fdbd5bd29652b3467c1a19 100644 (file)
@@ -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:
     *;
 };
index be7573b815d35b185c3467aa32257794aaec09f2..e83b456133c6a1e46221c37f885c2daece93af5a 100644 (file)
@@ -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 (file)
index 0000000..82c0288
--- /dev/null
@@ -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 (file)
index 0000000..dd3be01
--- /dev/null
@@ -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 <glib.h>
+#include <glib-object.h>
+
+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 (file)
index 0000000..cdf36c8
--- /dev/null
@@ -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)
index 57a1413aee96556fc97429316f52d126ee0ea2db..8ca61e249a1ddbba8c9e9fc65761abd1bd01748a 100644 (file)
@@ -51,6 +51,7 @@ tests = {
   ],
   'rawmidi': [
     'alsarawmidi-enums',
+    'alsarawmidi-substream-info',
   ],
 }