]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
seq: system_info: add object to represent information of ALSA sequencer
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 1 Apr 2020 09:13:28 +0000 (18:13 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Fri, 3 Apr 2020 13:06:25 +0000 (22:06 +0900)
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/seq/alsaseq.map
src/seq/meson.build
src/seq/system-info.c [new file with mode: 0644]
src/seq/system-info.h [new file with mode: 0644]
tests/alsaseq-system-info [new file with mode: 0644]
tests/meson.build

index 00b636fac7e2d926089090e336fbdbbd0697113d..87c04ffa27d2225cfa4a93f3f4d36390f2a055b0 100644 (file)
@@ -18,6 +18,8 @@ ALSA_GOBJECT_0_0_0 {
 
     "alsaseq_get_seq_sysname";
     "alsaseq_get_seq_devnode";
+
+    "alsaseq_system_info_get_type";
   local:
     *;
 };
index 3ff6e34ce9c67d014476d668fff0bfc285794971..440f06ae0b8b436c374b24dd2d2fcd55b95b1c45 100644 (file)
@@ -10,10 +10,12 @@ has_marshaller = false
 
 sources = files(
   'query.c',
+  'system-info.c',
 )
 
 headers = files(
   'query.h',
+  'system-info.h',
 )
 
 privates = files(
diff --git a/src/seq/system-info.c b/src/seq/system-info.c
new file mode 100644 (file)
index 0000000..a06ebf4
--- /dev/null
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#include "system-info.h"
+
+G_DEFINE_TYPE(ALSASeqSystemInfo, alsaseq_system_info, G_TYPE_OBJECT)
+
+static void alsaseq_system_info_class_init(ALSASeqSystemInfoClass *klass)
+{
+    return;
+}
+
+static void alsaseq_system_info_init(ALSASeqSystemInfo *self)
+{
+    return;
+}
diff --git a/src/seq/system-info.h b/src/seq/system-info.h
new file mode 100644 (file)
index 0000000..4859170
--- /dev/null
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#ifndef __ALSA_GOBJECT_ALSASEQ_SYSTEM_INFO__H__
+#define __ALSA_GOBJECT_ALSASEQ_SYSTEM_INFO__H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define ALSASEQ_TYPE_SYSTEM_INFO     (alsaseq_system_info_get_type())
+
+#define ALSASEQ_SYSTEM_INFO(obj)                            \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj),                      \
+                                ALSASEQ_TYPE_SYSTEM_INFO,   \
+                                ALSASeqSystemInfo))
+#define ALSASEQ_IS_SYSTEM_INFO(obj)                         \
+    (G_TYPE_CHECK_INSTANCE_TYPE((obj),                      \
+                                ALSASEQ_TYPE_SYSTEM_INFO))
+
+#define ALSASEQ_SYSTEM_INFO_CLASS(klass)                    \
+    (G_TYPE_CHECK_CLASS_CAST((klass),                       \
+                             ALSASEQ_TYPE_SYSTEM_INFO,      \
+                             ALSASeqSystemInfoClass))
+#define ALSASEQ_IS_SYSTEM_INFO_CLASS(klass)                 \
+    (G_TYPE_CHECK_CLASS_TYPE((klass),                       \
+                             ALSASEQ_TYPE_SYSTEM_INFO))
+#define ALSASEQ_SYSTEM_INFO_GET_CLASS(obj)                  \
+    (G_TYPE_INSTANCE_GET_CLASS((obj),                       \
+                               ALSASEQ_TYPE_SYSTEM_INFO,    \
+                               ALSASeqSystemInfoClass))
+
+typedef struct _ALSASeqSystemInfo           ALSASeqSystemInfo;
+typedef struct _ALSASeqSystemInfoClass      ALSASeqSystemInfoClass;
+
+struct _ALSASeqSystemInfo {
+    GObject parent_instance;
+};
+
+struct _ALSASeqSystemInfoClass {
+    GObjectClass parent_class;
+};
+
+GType alsaseq_system_info_get_type() G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif
diff --git a/tests/alsaseq-system-info b/tests/alsaseq-system-info
new file mode 100644 (file)
index 0000000..91a058c
--- /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('ALSASeq', '0.0')
+from gi.repository import ALSASeq
+
+target = ALSASeq.SystemInfo()
+props = ()
+methods = ()
+signals = ()
+
+if not test(target, props, methods, signals):
+    exit(ENXIO)
index 085196895448e7fbadb29a6f23b48675c2c3e8af..dba7e558e815e0fca6bb6038a1ecc5f468948296 100644 (file)
@@ -30,6 +30,7 @@ tests = {
   ],
   'seq': [
     'alsaseq-enums',
+    'alsaseq-system-info',
   ],
 }