From: Takashi Sakamoto Date: Fri, 12 Jun 2020 04:19:45 +0000 (+0900) Subject: ctl: elem_info_enum: dismiss ALSACtlElemInfoEnum X-Git-Tag: v0.1.0~69 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=6248a8289e75e7419b817b84bbeda43a411c6e3e;p=alsa-gobject.git ctl: elem_info_enum: dismiss ALSACtlElemInfoEnum Signed-off-by: Takashi Sakamoto --- diff --git a/doc/reference/ctl/alsactl-docs.xml b/doc/reference/ctl/alsactl-docs.xml index ddc0b2e..24ae464 100644 --- a/doc/reference/ctl/alsactl-docs.xml +++ b/doc/reference/ctl/alsactl-docs.xml @@ -37,7 +37,6 @@ - diff --git a/doc/reference/ctl/alsactl.types b/doc/reference/ctl/alsactl.types index ea7b441..d4735bd 100644 --- a/doc/reference/ctl/alsactl.types +++ b/doc/reference/ctl/alsactl.types @@ -7,7 +7,6 @@ alsactl_card_get_type alsactl_card_info_get_type alsactl_elem_id_get_type alsactl_elem_info_get_type -alsactl_elem_info_enum_get_type alsactl_elem_info_bytes_get_type alsactl_elem_info_iec60958_get_type alsactl_elem_info_int64_get_type diff --git a/src/ctl/elem-info-enum.c b/src/ctl/elem-info-enum.c deleted file mode 100644 index 0b11f52..0000000 --- a/src/ctl/elem-info-enum.c +++ /dev/null @@ -1,131 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-later -#include "elem-info-enum.h" -#include "privates.h" - -/** - * SECTION: elem-info-enum - * @Title: ALSACtlElemInfoEnum - * @Short_description: A GObject-derived object to represent the information - * of enumeration type of element - * - * A #ALSACtlElemInfoEnum is a GObject-derived object to represent the - * information of enumeration type of element. The object inherits methods and - * properties of #ALSACtlElemInfo. The call of alsactl_card_get_elem_info() can - * returns the instance of object, or The call of alsactl_card_add_elems() - * requires the instance of object as argument. - */ -struct _ALSACtlElemInfoEnumPrivate { - const gchar **labels; // should have sentinel member with NULL value. -}; -G_DEFINE_TYPE_WITH_PRIVATE(ALSACtlElemInfoEnum, alsactl_elem_info_enum, ALSACTL_TYPE_ELEM_INFO) - -enum ctl_elem_info_enum_prop_type { - CTL_ELEM_INFO_ENUM_PROP_VALUE_COUNT = 1, - CTL_ELEM_INFO_ENUM_PROP_LABELS, - CTL_ELEM_INFO_ENUM_PROP_COUNT, -}; -static GParamSpec *ctl_elem_info_enum_props[CTL_ELEM_INFO_ENUM_PROP_COUNT] = { NULL, }; - -static void ctl_elem_info_enum_finalize(GObject *obj) -{ - ALSACtlElemInfoEnum *self = ALSACTL_ELEM_INFO_ENUM(obj); - ALSACtlElemInfoEnumPrivate *priv = - alsactl_elem_info_enum_get_instance_private(self); - - g_strfreev((gchar **)priv->labels); - - G_OBJECT_CLASS(alsactl_elem_info_enum_parent_class)->finalize(obj); -} - -static void ctl_elem_info_enum_set_property(GObject *obj, guint id, - const GValue *val, GParamSpec *spec) -{ - ALSACtlElemInfoEnum *self = ALSACTL_ELEM_INFO_ENUM(obj); - ALSACtlElemInfoEnumPrivate *priv = - alsactl_elem_info_enum_get_instance_private(self); - ALSACtlElemInfo *parent = ALSACTL_ELEM_INFO(obj); - struct snd_ctl_elem_info *info; - - ctl_elem_info_refer_private(parent, &info); - - switch (id) { - case CTL_ELEM_INFO_ENUM_PROP_VALUE_COUNT: - info->count = g_value_get_uint(val); - break; - case CTL_ELEM_INFO_ENUM_PROP_LABELS: - g_strfreev((gchar **)priv->labels); - priv->labels = (const gchar **)g_strdupv(g_value_get_boxed(val)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec); - break; - } -} - -static void ctl_elem_info_enum_get_property(GObject *obj, guint id, - GValue *val, GParamSpec *spec) -{ - ALSACtlElemInfoEnum *self = ALSACTL_ELEM_INFO_ENUM(obj); - ALSACtlElemInfoEnumPrivate *priv = - alsactl_elem_info_enum_get_instance_private(self); - - ALSACtlElemInfo *parent = ALSACTL_ELEM_INFO(obj); - struct snd_ctl_elem_info *info; - - ctl_elem_info_refer_private(parent, &info); - - switch (id) { - case CTL_ELEM_INFO_ENUM_PROP_VALUE_COUNT: - g_value_set_uint(val, info->count); - break; - case CTL_ELEM_INFO_ENUM_PROP_LABELS: - g_value_set_boxed(val, priv->labels); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec); - break; - } -} - -static void alsactl_elem_info_enum_class_init(ALSACtlElemInfoEnumClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS(klass); - - gobject_class->finalize = ctl_elem_info_enum_finalize; - gobject_class->set_property = ctl_elem_info_enum_set_property; - gobject_class->get_property = ctl_elem_info_enum_get_property; - - ctl_elem_info_enum_props[CTL_ELEM_INFO_ENUM_PROP_VALUE_COUNT] = - g_param_spec_uint("value-count", "value-count", - "The number of members as value of this element", - 0, G_MAXUINT, - 0, - G_PARAM_READWRITE); - - ctl_elem_info_enum_props[CTL_ELEM_INFO_ENUM_PROP_LABELS] = - g_param_spec_boxed("labels", "labels", - "The list of labels for this element", - G_TYPE_STRV, - G_PARAM_READWRITE); - - g_object_class_install_properties(gobject_class, - CTL_ELEM_INFO_ENUM_PROP_COUNT, ctl_elem_info_enum_props); -} - -static void alsactl_elem_info_enum_init(ALSACtlElemInfoEnum *self) -{ - return; -} - -/** - * alsactl_elem_info_enum_new: - * - * Allocate and return an instance of ALSACtlElemInfoEnum. - * - * Returns: A #ALSACtlElemInfoEnum. - */ -ALSACtlElemInfoEnum *alsactl_elem_info_enum_new() -{ - return g_object_new(ALSACTL_TYPE_ELEM_INFO_ENUM, - "type", ALSACTL_ELEM_TYPE_ENUMERATED, NULL); -} diff --git a/src/ctl/elem-info-enum.h b/src/ctl/elem-info-enum.h deleted file mode 100644 index ac757d2..0000000 --- a/src/ctl/elem-info-enum.h +++ /dev/null @@ -1,54 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-later -#ifndef __ALSA_GOBJECT_ALSACTL_ELEM_INFO_ENUM__H__ -#define __ALSA_GOBJECT_ALSACTL_ELEM_INFO_ENUM__H__ - -#include -#include - -#include - -G_BEGIN_DECLS - -#define ALSACTL_TYPE_ELEM_INFO_ENUM (alsactl_elem_info_enum_get_type()) - -#define ALSACTL_ELEM_INFO_ENUM(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), \ - ALSACTL_TYPE_ELEM_INFO_ENUM, \ - ALSACtlElemInfoEnum)) -#define ALSACTL_IS_ELEM_INFO_ENUM(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ - ALSACTL_TYPE_ELEM_INFO_ENUM)) - -#define ALSACTL_ELEM_INFO_ENUM_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), \ - ALSACTL_TYPE_ELEM_INFO_ENUM, \ - ALSACtlElemInfoEnumClass)) -#define ALSACTL_IS_ELEM_INFO_ENUM_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), \ - ALSACTL_TYPE_ELEM_INFO_ENUM)) -#define ALSACTL_ELEM_INFO_ENUM_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS((obj), \ - ALSACTL_TYPE_ELEM_INFO_ENUM, \ - ALSACtlElemInfoEnumClass)) - -typedef struct _ALSACtlElemInfoEnum ALSACtlElemInfoEnum; -typedef struct _ALSACtlElemInfoEnumClass ALSACtlElemInfoEnumClass; -typedef struct _ALSACtlElemInfoEnumPrivate ALSACtlElemInfoEnumPrivate; - -struct _ALSACtlElemInfoEnum { - ALSACtlElemInfo parent_instance; - - ALSACtlElemInfoEnumPrivate *priv; -}; - -struct _ALSACtlElemInfoEnumClass { - ALSACtlElemInfoClass parent_class; -}; - -GType alsactl_elem_info_enum_get_type(void) G_GNUC_CONST; - -ALSACtlElemInfoEnum *alsactl_elem_info_enum_new(); - -G_END_DECLS - -#endif diff --git a/src/ctl/meson.build b/src/ctl/meson.build index 23e0c96..270b8a3 100644 --- a/src/ctl/meson.build +++ b/src/ctl/meson.build @@ -14,7 +14,6 @@ sources = files( 'card-info.c', 'elem-id.c', 'elem-info.c', - 'elem-info-enum.c', 'elem-info-bytes.c', 'elem-info-iec60958.c', 'elem-info-int64.c', @@ -27,7 +26,6 @@ headers = files( 'card-info.h', 'elem-id.h', 'elem-info.h', - 'elem-info-enum.h', 'elem-info-bytes.h', 'elem-info-iec60958.h', 'elem-info-int64.h', diff --git a/tests/alsactl-elem-info-enum b/tests/alsactl-elem-info-enum deleted file mode 100644 index 9dae1e7..0000000 --- a/tests/alsactl-elem-info-enum +++ /dev/null @@ -1,23 +0,0 @@ -#!/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.ElemInfoEnum() -props = ( - 'value-count', - 'labels', -) -methods = ( - 'new', -) -signals = () - -if not test(target, props, methods, signals): - exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index e17e290..bd4c862 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -7,7 +7,6 @@ tests = { 'alsactl-card', 'alsactl-card-info', 'alsactl-elem-info', - 'alsactl-elem-info-enum', 'alsactl-elem-info-bytes', 'alsactl-elem-info-iec60958', 'alsactl-elem-info-int64',