]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: elem_value: add object to represent value for element
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 18 Nov 2019 04:22:44 +0000 (13:22 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Thu, 12 Dec 2019 05:29:12 +0000 (14:29 +0900)
src/ctl/alsactl.map
src/ctl/elem-value.c [new file with mode: 0644]
src/ctl/elem-value.h [new file with mode: 0644]
src/ctl/meson.build
tests/alsactl-elem-value [new file with mode: 0644]
tests/meson.build

index 8641fa4c3ae3de86df80edc6ba03b71c6ae97b15..e743427e38f20ecd4f3498115a0cf20c25c5f5d7 100644 (file)
@@ -58,6 +58,9 @@ ALSA_GOBJECT_0_0_0 {
 
     "alsactl_elem_info_int64_get_type";
     "alsactl_elem_info_int64_new";
+
+    "alsactl_elem_value_get_type";
+    "alsactl_elem_value_new";
   local:
     *;
 };
diff --git a/src/ctl/elem-value.c b/src/ctl/elem-value.c
new file mode 100644 (file)
index 0000000..edf5df6
--- /dev/null
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#include "elem-value.h"
+
+G_DEFINE_TYPE(ALSACtlElemValue, alsactl_elem_value, G_TYPE_OBJECT)
+
+static void alsactl_elem_value_class_init(ALSACtlElemValueClass *klass)
+{
+    return;
+}
+
+static void alsactl_elem_value_init(ALSACtlElemValue *self)
+{
+    return;
+}
diff --git a/src/ctl/elem-value.h b/src/ctl/elem-value.h
new file mode 100644 (file)
index 0000000..d89b9ce
--- /dev/null
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#ifndef __ALSA_GOBJECT_ALSACTL_ELEM_VALUE__H__
+#define __ALSA_GOBJECT_ALSACTL_ELEM_VALUE__H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define ALSACTL_TYPE_ELEM_VALUE     (alsactl_elem_value_get_type())
+
+#define ALSACTL_ELEM_VALUE(obj)                             \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj),                      \
+                                ALSACTL_TYPE_ELEM_VALUE,    \
+                                ALSACtlElemValue))
+#define ALSACTL_IS_ELEM_VALUE(obj)                          \
+    (G_TYPE_CHECK_INSTANCE_TYPE((obj),                      \
+                                ALSACTL_TYPE_ELEM_VALUE))
+
+#define ALSACTL_ELEM_VALUE_CLASS(klass)                     \
+    (G_TYPE_CHECK_CLASS_CAST((klass),                       \
+                             ALSACTL_TYPE_ELEM_VALUE,       \
+                             ALSACtlElemValueClass))
+#define ALSACTL_IS_ELEM_VALUE_CLASS(klass)                  \
+    (G_TYPE_CHECK_CLASS_TYPE((klass),                       \
+                             ALSACTL_TYPE_ELEM_VALUE))
+#define ALSACTL_ELEM_VALUE_GET_CLASS(obj)                   \
+    (G_TYPE_INSTANCE_GET_CLASS((obj),                       \
+                               ALSACTL_TYPE_ELEM_VALUE,     \
+                               ALSACtlElemValueClass))
+
+typedef struct _ALSACtlElemValue         ALSACtlElemValue;
+typedef struct _ALSACtlElemValueClass    ALSACtlElemValueClass;
+
+struct _ALSACtlElemValue {
+    GObject parent_instance;
+};
+
+struct _ALSACtlElemValueClass {
+    GObjectClass parent_class;
+};
+
+GType alsactl_elem_value_get_type() G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif
index 5f27f46998a6a55dd0f4e95aa98ef6f264648758..fee5d77311ac15c23197c13a6adc5c73f41df751 100644 (file)
@@ -20,6 +20,7 @@ sources = files(
   'elem-info-bytes.c',
   'elem-info-iec60958.c',
   'elem-info-int64.c',
+  'elem-value.c',
 )
 
 headers = files(
@@ -34,6 +35,7 @@ headers = files(
   'elem-info-bytes.h',
   'elem-info-iec60958.h',
   'elem-info-int64.h',
+  'elem-value.h',
 )
 
 privates = files(
diff --git a/tests/alsactl-elem-value b/tests/alsactl-elem-value
new file mode 100644 (file)
index 0000000..50d06db
--- /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('ALSACtl', '0.0')
+from gi.repository import ALSACtl
+
+target = ALSACtl.ElemValue()
+props = ()
+methods = ()
+signals = ()
+
+if not test(target, props, methods, signals):
+    exit(ENXIO)
index 77fa8ac62a1186c21cadda5c110c57e4068c454e..ac3518f896faa089bb4a8eef578064189b75375c 100644 (file)
@@ -13,6 +13,7 @@ tests = {
     'alsactl-elem-info-bytes',
     'alsactl-elem-info-iec60958',
     'alsactl-elem-info-int64',
+    'alsactl-elem-value',
   ],
 }