From c8761a6aa34e8165183cff77c92a815356c30a1c Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Mon, 18 Nov 2019 13:22:44 +0900 Subject: [PATCH] ctl: elem_info_int64: add object to represent information for integer64 type element --- src/ctl/alsactl.map | 2 ++ src/ctl/elem-info-int64.c | 14 ++++++++++ src/ctl/elem-info-int64.h | 49 +++++++++++++++++++++++++++++++++++ src/ctl/meson.build | 2 ++ tests/alsactl-elem-info-int64 | 18 +++++++++++++ tests/meson.build | 1 + 6 files changed, 86 insertions(+) create mode 100644 src/ctl/elem-info-int64.c create mode 100644 src/ctl/elem-info-int64.h create mode 100644 tests/alsactl-elem-info-int64 diff --git a/src/ctl/alsactl.map b/src/ctl/alsactl.map index f4f617e..4f62e6c 100644 --- a/src/ctl/alsactl.map +++ b/src/ctl/alsactl.map @@ -46,6 +46,8 @@ ALSA_GOBJECT_0_0_0 { "alsactl_elem_info_iec60958_get_type"; "alsactl_elem_info_iec60958_new"; + + "alsactl_elem_info_int64_get_type"; local: *; }; diff --git a/src/ctl/elem-info-int64.c b/src/ctl/elem-info-int64.c new file mode 100644 index 0000000..53e20b8 --- /dev/null +++ b/src/ctl/elem-info-int64.c @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "elem-info-int64.h" + +G_DEFINE_TYPE(ALSACtlElemInfoInt64, alsactl_elem_info_int64, ALSACTL_TYPE_ELEM_INFO) + +static void alsactl_elem_info_int64_class_init(ALSACtlElemInfoInt64Class *klass) +{ + return; +} + +static void alsactl_elem_info_int64_init(ALSACtlElemInfoInt64 *self) +{ + return; +} diff --git a/src/ctl/elem-info-int64.h b/src/ctl/elem-info-int64.h new file mode 100644 index 0000000..bc046ce --- /dev/null +++ b/src/ctl/elem-info-int64.h @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSACTL_ELEM_INFO_INT64__H__ +#define __ALSA_GOBJECT_ALSACTL_ELEM_INFO_INT64__H__ + +#include +#include + +#include + +G_BEGIN_DECLS + +#define ALSACTL_TYPE_ELEM_INFO_INT64 (alsactl_elem_info_int64_get_type()) + +#define ALSACTL_ELEM_INFO_INT64(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + ALSACTL_TYPE_ELEM_INFO_INT64, \ + ALSACtlElemInfoInt64)) +#define ALSACTL_IS_ELEM_INFO_INT64(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + ALSACTL_TYPE_ELEM_INFO_INT64)) + +#define ALSACTL_ELEM_INFO_INT64_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), \ + ALSACTL_TYPE_ELEM_INFO_INT64, \ + ALSACtlElemInfoInt64Class)) +#define ALSACTL_IS_ELEM_INFO_INT64_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), \ + ALSACTL_TYPE_ELEM_INFO_INT64)) +#define ALSACTL_ELEM_INFO_INT64_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), \ + ALSACTL_TYPE_ELEM_INFO_INT64, \ + ALSACtlElemInfoInt64Class)) + +typedef struct _ALSACtlElemInfoInt64 ALSACtlElemInfoInt64; +typedef struct _ALSACtlElemInfoInt64Class ALSACtlElemInfoInt64Class; + +struct _ALSACtlElemInfoInt64 { + ALSACtlElemInfo parent_instance; +}; + +struct _ALSACtlElemInfoInt64Class { + ALSACtlElemInfoClass parent_class; +}; + +GType alsactl_elem_info_int64_get_type(void) G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/src/ctl/meson.build b/src/ctl/meson.build index a5fb33b..c9342da 100644 --- a/src/ctl/meson.build +++ b/src/ctl/meson.build @@ -19,6 +19,7 @@ sources = files( 'elem-info-enum.c', 'elem-info-bytes.c', 'elem-info-iec60958.c', + 'elem-info-int64.c', ) headers = files( @@ -32,6 +33,7 @@ headers = files( 'elem-info-enum.h', 'elem-info-bytes.h', 'elem-info-iec60958.h', + 'elem-info-int64.h', ) privates = files( diff --git a/tests/alsactl-elem-info-int64 b/tests/alsactl-elem-info-int64 new file mode 100644 index 0000000..a1b90fa --- /dev/null +++ b/tests/alsactl-elem-info-int64 @@ -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.ElemInfoInt64() +props = () +methods = () +signals = () + +if not test(target, props, methods, signals): + exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index c406662..77fa8ac 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -12,6 +12,7 @@ tests = { 'alsactl-elem-info-enum', 'alsactl-elem-info-bytes', 'alsactl-elem-info-iec60958', + 'alsactl-elem-info-int64', ], } -- 2.47.3