From: Takashi Sakamoto Date: Mon, 18 Nov 2019 04:22:44 +0000 (+0900) Subject: ctl: elem_value: add object to represent value for element X-Git-Tag: v0.1.0~388 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=f26367fd4b1a699a973263ac092250b3cfbb5ab7;p=alsa-gobject.git ctl: elem_value: add object to represent value for element --- diff --git a/src/ctl/alsactl.map b/src/ctl/alsactl.map index 8641fa4..e743427 100644 --- a/src/ctl/alsactl.map +++ b/src/ctl/alsactl.map @@ -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 index 0000000..edf5df6 --- /dev/null +++ b/src/ctl/elem-value.c @@ -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 index 0000000..d89b9ce --- /dev/null +++ b/src/ctl/elem-value.h @@ -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 +#include + +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 diff --git a/src/ctl/meson.build b/src/ctl/meson.build index 5f27f46..fee5d77 100644 --- a/src/ctl/meson.build +++ b/src/ctl/meson.build @@ -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 index 0000000..50d06db --- /dev/null +++ b/tests/alsactl-elem-value @@ -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) diff --git a/tests/meson.build b/tests/meson.build index 77fa8ac..ac3518f 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -13,6 +13,7 @@ tests = { 'alsactl-elem-info-bytes', 'alsactl-elem-info-iec60958', 'alsactl-elem-info-int64', + 'alsactl-elem-value', ], }