]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: card_info: add an object to represent information of card
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 18 Nov 2019 04:22:44 +0000 (13:22 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sat, 30 Nov 2019 08:58:41 +0000 (17:58 +0900)
src/ctl/alsactl.map
src/ctl/card-info.c [new file with mode: 0644]
src/ctl/card-info.h [new file with mode: 0644]
src/ctl/meson.build
src/ctl/privates.h
tests/alsactl-card-info [new file with mode: 0644]
tests/meson.build

index 9ad22c3eb83ca8acef2c24e0afd159115b40fe1e..05eb99902a06b1b534a36a7d9bf1693e6f893a27 100644 (file)
@@ -14,6 +14,8 @@ ALSA_GOBJECT_0_0_0 {
     "alsactl_card_get_type";
     "alsactl_card_new";
     "alsactl_card_open";
+
+    "alsactl_card_info_get_type";
   local:
     *;
 };
diff --git a/src/ctl/card-info.c b/src/ctl/card-info.c
new file mode 100644 (file)
index 0000000..d5f9ac0
--- /dev/null
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#include "card-info.h"
+
+G_DEFINE_TYPE(ALSACtlCardInfo, alsactl_card_info, G_TYPE_OBJECT)
+
+static void alsactl_card_info_class_init(ALSACtlCardInfoClass *klass)
+{
+    return;
+}
+
+static void alsactl_card_info_init(ALSACtlCardInfo *self)
+{
+    return;
+}
diff --git a/src/ctl/card-info.h b/src/ctl/card-info.h
new file mode 100644 (file)
index 0000000..dfb43f7
--- /dev/null
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+#ifndef __ALSA_GOBJECT_ALSACTL_CARD_INFO__H__
+#define __ALSA_GOBJECT_ALSACTL_CARD_INFO__H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define ALSACTL_TYPE_CARD_INFO      (alsactl_card_info_get_type())
+
+#define ALSACTL_CARD_INFO(obj)                              \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj),                      \
+                                ALSACTL_TYPE_CARD_INFO,     \
+                                ALSACtlCardInfo))
+#define ALSACTL_IS_CARD_INFO(obj)                           \
+    (G_TYPE_CHECK_INSTANCE_TYPE((obj),                      \
+                                ALSACTL_TYPE_CARD_INFO))
+
+#define ALSACTL_CARD_INFO_CLASS(klass)                      \
+    (G_TYPE_CHECK_CLASS_CAST((klass),                       \
+                             ALSACTL_TYPE_CARD_INFO,        \
+                             ALSACtlCardInfoClass))
+#define ALSACTL_IS_CARD_INFO_CLASS(klass)                   \
+    (G_TYPE_CHECK_CLASS_TYPE((klass),                       \
+                             ALSACTL_TYPE_CARD_INFO))
+#define ALSACTL_CARD_INFO_GET_CLASS(obj)                    \
+    (G_TYPE_INSTANCE_GET_CLASS((obj),                       \
+                               ALSACTL_TYPE_CARD_INFO,      \
+                               ALSACtlCardInfoClass))
+
+typedef struct _ALSACtlCardInfo         ALSACtlCardInfo;
+typedef struct _ALSACtlCardInfoClass    ALSACtlCardInfoClass;
+
+struct _ALSACtlCardInfo {
+    GObject parent_instance;
+};
+
+struct _ALSACtlCardInfoClass {
+    GObjectClass parent_class;
+};
+
+GType alsactl_card_info_get_type() G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif
index 4d9fadbe44d7a1ac98aa93de13b5ea5309fcb7f2..00c61f58a58c1ec065c512cf99fdeca4e16e9539 100644 (file)
@@ -11,11 +11,13 @@ has_marshaller = false
 sources = files(
   'query.c',
   'card.c',
+  'card-info.c',
 )
 
 headers = files(
   'query.h',
   'card.h',
+  'card-info.h',
 )
 
 privates = files(
index adc32ca08f0013f7fcc81f0e7f6137487cb778f5..4a61640739b684b995b48f8e8127559b6ca969e0 100644 (file)
@@ -7,9 +7,6 @@
 #include <glib.h>
 #include <glib-object.h>
 
-#include "query.h"
-#include "card.h"
-
 G_BEGIN_DECLS
 
 GQuark alsactl_error_quark(void);
diff --git a/tests/alsactl-card-info b/tests/alsactl-card-info
new file mode 100644 (file)
index 0000000..f05d3f4
--- /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.CardInfo()
+props = ()
+methods = ()
+signals = ()
+
+if not test(target, props, methods, signals):
+    exit(ENXIO)
index 1384379ba6e66cb4377f8da42a61c8b5f4ed2be7..15abd8930205363d8c87dd2e45f823ac84743772 100644 (file)
@@ -5,6 +5,7 @@ tests = {
   'ctl': [
     'alsactl-enums',
     'alsactl-card',
+    'alsactl-card-info',
   ],
 }