]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
seq: user_client: add object to represent user client for 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/user-client.c [new file with mode: 0644]
src/seq/user-client.h [new file with mode: 0644]
tests/alsaseq-user-client [new file with mode: 0644]
tests/meson.build

index 2c444a758cc61fd035d0d100df429272cb0463cf..c68c9213fa36f238e89226a9c0a05423c21533a3 100644 (file)
@@ -28,6 +28,9 @@ ALSA_GOBJECT_0_0_0 {
     "alsaseq_client_info_new";
     "alsaseq_client_info_set_event_filter";
     "alsaseq_client_info_get_event_filter";
+
+    "alsaseq_user_client_get_type";
+    "alsaseq_user_client_new";
   local:
     *;
 };
index 44ec1aa7f9a9419d598b449c2a6b18c3b398943b..3e8d511799998c0b5732aa6ea5d8859a7e77d396 100644 (file)
@@ -12,12 +12,14 @@ sources = files(
   'query.c',
   'system-info.c',
   'client-info.c',
+  'user-client.c',
 )
 
 headers = files(
   'query.h',
   'system-info.h',
   'client-info.h',
+  'user-client.h',
 )
 
 privates = files(
diff --git a/src/seq/user-client.c b/src/seq/user-client.c
new file mode 100644 (file)
index 0000000..a74f2b6
--- /dev/null
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#include "user-client.h"
+
+G_DEFINE_TYPE(ALSASeqUserClient, alsaseq_user_client, G_TYPE_OBJECT)
+
+static void alsaseq_user_client_class_init(ALSASeqUserClientClass *klass)
+{
+    return;
+}
+
+static void alsaseq_user_client_init(ALSASeqUserClient *self)
+{
+    return;
+}
+
+/**
+ * alsaseq_user_client_new:
+ *
+ * Allocate and return an instance of ALSASeqUserClient class.
+ */
+ALSASeqUserClient *alsaseq_user_client_new()
+{
+    return g_object_new(ALSASEQ_TYPE_USER_CLIENT, NULL);
+}
diff --git a/src/seq/user-client.h b/src/seq/user-client.h
new file mode 100644 (file)
index 0000000..3d94bf4
--- /dev/null
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#ifndef __ALSA_GOBJECT_ALSASEQ_USER_CLIENT__H__
+#define __ALSA_GOBJECT_ALSASEQ_USER_CLIENT__H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define ALSASEQ_TYPE_USER_CLIENT     (alsaseq_user_client_get_type())
+
+#define ALSASEQ_USER_CLIENT(obj)                            \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj),                      \
+                                ALSASEQ_TYPE_USER_CLIENT,   \
+                                ALSASeqUserClient))
+#define ALSASEQ_IS_USER_CLIENT(obj)                         \
+    (G_TYPE_CHECK_INSTANCE_TYPE((obj),                      \
+                                ALSASEQ_TYPE_USER_CLIENT))
+
+#define ALSASEQ_USER_CLIENT_CLASS(klass)                    \
+    (G_TYPE_CHECK_CLASS_CAST((klass),                       \
+                             ALSASEQ_TYPE_USER_CLIENT,      \
+                             ALSASeqUserClientClass))
+#define ALSASEQ_IS_USER_CLIENT_CLASS(klass)                 \
+    (G_TYPE_CHECK_CLASS_TYPE((klass),                       \
+                             ALSASEQ_TYPE_USER_CLIENT))
+#define ALSASEQ_USER_CLIENT_GET_CLASS(obj)                  \
+    (G_TYPE_INSTANCE_GET_CLASS((obj),                       \
+                               ALSASEQ_TYPE_USER_CLIENT,    \
+                               ALSASeqUserClientClass))
+
+typedef struct _ALSASeqUserClient           ALSASeqUserClient;
+typedef struct _ALSASeqUserClientClass      ALSASeqUserClientClass;
+
+struct _ALSASeqUserClient {
+    GObject parent_instance;
+};
+
+struct _ALSASeqUserClientClass {
+    GObjectClass parent_class;
+};
+
+GType alsaseq_user_client_get_type() G_GNUC_CONST;
+
+ALSASeqUserClient *alsaseq_user_client_new();
+
+G_END_DECLS
+
+#endif
diff --git a/tests/alsaseq-user-client b/tests/alsaseq-user-client
new file mode 100644 (file)
index 0000000..d1dc621
--- /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('ALSASeq', '0.0')
+from gi.repository import ALSASeq
+
+target = ALSASeq.UserClient()
+props = ()
+methods = (
+    'new',
+)
+signals = ()
+
+if not test(target, props, methods, signals):
+    exit(ENXIO)
index 629141d1ecbceb83366822fd34d162fc2e3d62fb..4f81e3cce4d3f6db913e19994b9de571e9fb1f8e 100644 (file)
@@ -32,6 +32,7 @@ tests = {
     'alsaseq-enums',
     'alsaseq-system-info',
     'alsaseq-client-info',
+    'alsaseq-user-client',
   ],
 }