]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
rawmidi: stream_pair: add object to represent a pair of data stream
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/stream-pair.c [new file with mode: 0644]
src/rawmidi/stream-pair.h [new file with mode: 0644]
tests/alsarawmidi-stream-pair [new file with mode: 0644]
tests/meson.build

index 9a384c38bce6118b4daadf24b27b95f40b207a28..1c68baaa23855ff8a87048ba038b4d5c39f1eee8 100644 (file)
@@ -10,6 +10,9 @@ ALSA_GOBJECT_0_0_0 {
     "alsarawmidi_get_substream_info";
 
     "alsarawmidi_substream_info_get_type";
+
+    "alsarawmidi_stream_pair_get_type";
+    "alsarawmidi_stream_pair_new";
   local:
     *;
 };
index e83b456133c6a1e46221c37f885c2daece93af5a..b686511f616ca9e3598ab4c0f80b8aafab4e46a7 100644 (file)
@@ -11,11 +11,13 @@ has_marshaller = false
 sources = files(
   'query.c',
   'substream-info.c',
+  'stream-pair.c',
 )
 
 headers = files(
   'query.h',
   'substream-info.h',
+  'stream-pair.h',
 )
 
 privates = files(
diff --git a/src/rawmidi/stream-pair.c b/src/rawmidi/stream-pair.c
new file mode 100644 (file)
index 0000000..4ce38ff
--- /dev/null
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#include "stream-pair.h"
+
+G_DEFINE_TYPE(ALSARawmidiStreamPair, alsarawmidi_stream_pair, G_TYPE_OBJECT)
+
+static void alsarawmidi_stream_pair_class_init(ALSARawmidiStreamPairClass *klass)
+{
+    return;
+}
+
+static void alsarawmidi_stream_pair_init(ALSARawmidiStreamPair *self)
+{
+    return;
+}
+
+/**
+ * alsarawmidi_stream_pair_new:
+ *
+ * Allocate and return an instance of ALSARawmidiStreamPair class.
+ */
+ALSARawmidiStreamPair *alsarawmidi_stream_pair_new()
+{
+    return g_object_new(ALSARAWMIDI_TYPE_STREAM_PAIR, NULL);
+}
diff --git a/src/rawmidi/stream-pair.h b/src/rawmidi/stream-pair.h
new file mode 100644 (file)
index 0000000..248d62c
--- /dev/null
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#ifndef __ALSA_GOBJECT_ALSARAWMIDI_STREAM_PAIR__H__
+#define __ALSA_GOBJECT_ALSARAWMIDI_STREAM_PAIR__H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define ALSARAWMIDI_TYPE_STREAM_PAIR    (alsarawmidi_stream_pair_get_type())
+
+#define ALSARAWMIDI_STREAM_PAIR(obj)                            \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj),                          \
+                                ALSARAWMIDI_TYPE_STREAM_PAIR,   \
+                                ALSARawmidiStreamPair))
+#define ALSARAWMIDI_IS_STREAM_PAIR(obj)                         \
+    (G_TYPE_CHECK_INSTANCE_TYPE((obj),                          \
+                                ALSARAWMIDI_TYPE_STREAM_PAIR))
+
+#define ALSARAWMIDI_STREAM_PAIR_CLASS(klass)                    \
+    (G_TYPE_CHECK_CLASS_CAST((klass),                           \
+                             ALSARAWMIDI_TYPE_STREAM_PAIR,      \
+                             ALSARawmidiStreamPairClass))
+#define ALSARAWMIDI_IS_STREAM_PAIR_CLASS(klass)                 \
+    (G_TYPE_CHECK_CLASS_TYPE((klass),                           \
+                             ALSARAWMIDI_TYPE_STREAM_PAIR))
+#define ALSARAWMIDI_STREAM_PAIR_GET_CLASS(obj)                  \
+    (G_TYPE_INSTANCE_GET_CLASS((obj),                           \
+                               ALSARAWMIDI_TYPE_STREAM_PAIR,    \
+                               ALSARawmidiStreamPairClass))
+
+typedef struct _ALSARawmidiStreamPair           ALSARawmidiStreamPair;
+typedef struct _ALSARawmidiStreamPairClass      ALSARawmidiStreamPairClass;
+
+struct _ALSARawmidiStreamPair {
+    GObject parent_instance;
+};
+
+struct _ALSARawmidiStreamPairClass {
+    GObjectClass parent_class;
+};
+
+GType alsarawmidi_stream_pair_get_type(void) G_GNUC_CONST;
+
+ALSARawmidiStreamPair *alsarawmidi_stream_pair_new();
+
+G_END_DECLS
+
+#endif
diff --git a/tests/alsarawmidi-stream-pair b/tests/alsarawmidi-stream-pair
new file mode 100644 (file)
index 0000000..cdf1983
--- /dev/null
@@ -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('ALSARawmidi', '0.0')
+from gi.repository import ALSARawmidi
+
+target = ALSARawmidi.StreamPair()
+props = ()
+methods = (
+    'new',
+)
+signals = ()
+
+if not test(target, props, methods, signals):
+    exit(ENXIO)
index 8ca61e249a1ddbba8c9e9fc65761abd1bd01748a..38d192b708f29fdb7059138673d88deedbc83c63 100644 (file)
@@ -52,6 +52,7 @@ tests = {
   'rawmidi': [
     'alsarawmidi-enums',
     'alsarawmidi-substream-info',
+    'alsarawmidi-stream-pair',
   ],
 }