From 768cb17c80b886f9351e3285f333a63270f7e670 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Thu, 2 Jun 2022 18:26:26 +0900 Subject: [PATCH] ctl: elem-info: remove unused classes Some gobject classes are now unused. This commit deletes them. Signed-off-by: Takashi Sakamoto --- src/ctl/alsactl.h | 1 - src/ctl/alsactl.map | 10 -- src/ctl/elem-info.c | 379 ---------------------------------------- src/ctl/elem-info.h | 30 ---- src/ctl/meson.build | 2 - src/ctl/privates.h | 3 - tests/alsactl-elem-info | 32 ---- tests/meson.build | 1 - 8 files changed, 458 deletions(-) delete mode 100644 src/ctl/elem-info.c delete mode 100644 src/ctl/elem-info.h delete mode 100644 tests/alsactl-elem-info diff --git a/src/ctl/alsactl.h b/src/ctl/alsactl.h index 865c3b0..48b8584 100644 --- a/src/ctl/alsactl.h +++ b/src/ctl/alsactl.h @@ -18,7 +18,6 @@ #include #include -#include #include #include #include diff --git a/src/ctl/alsactl.map b/src/ctl/alsactl.map index 8602092..70c69a4 100644 --- a/src/ctl/alsactl.map +++ b/src/ctl/alsactl.map @@ -22,9 +22,6 @@ ALSA_GOBJECT_0_0_0 { "alsactl_elem_id_get_index"; "alsactl_elem_id_equal"; - "alsactl_elem_info_get_type"; - "alsactl_elem_info_new"; - "alsactl_elem_value_get_type"; "alsactl_elem_value_new"; "alsactl_elem_value_set_bool"; @@ -75,13 +72,6 @@ ALSA_GOBJECT_0_3_0 { "alsactl_card_read_elem_value"; "alsactl_card_create_source"; - "alsactl_elem_info_get_int_data"; - "alsactl_elem_info_set_int_data"; - "alsactl_elem_info_get_int64_data"; - "alsactl_elem_info_set_int64_data"; - "alsactl_elem_info_get_enum_data"; - "alsactl_elem_info_set_enum_data"; - "alsactl_elem_info_common_get_type"; "alsactl_elem_info_iec60958_get_type"; diff --git a/src/ctl/elem-info.c b/src/ctl/elem-info.c deleted file mode 100644 index bfe8829..0000000 --- a/src/ctl/elem-info.c +++ /dev/null @@ -1,379 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-later -#include "privates.h" - -#include - -/** - * ALSACtlElemInfo: - * An GObject-derived object to represent the information of any type of element. - * - * A [class@ElemInfo] is an GObject-derived object to represent the information of any type of - * element. - * - * The object wraps `struct snd_ctl_elem_info` in UAPI of Linux sound subsystem. - */ -typedef struct { - struct snd_ctl_elem_info info; - - struct { - gint32 min; - gint32 max; - gint32 step; - } int_data; - gchar **enum_data; -} ALSACtlElemInfoPrivate; -G_DEFINE_TYPE_WITH_PRIVATE(ALSACtlElemInfo, alsactl_elem_info, G_TYPE_OBJECT) - -enum ctl_elem_info_prop_type { - CTL_ELEM_INFO_PROP_ELEM_ID = 1, - CTL_ELEM_INFO_PROP_TYPE, - CTL_ELEM_INFO_PROP_ACCESS, - CTL_ELEM_INFO_PROP_OWNER, - CTL_ELEM_INFO_PROP_VALUE_COUNT, - CTL_ELEM_INFO_PROP_COUNT, -}; -static GParamSpec *ctl_elem_info_props[CTL_ELEM_INFO_PROP_COUNT] = { NULL, }; - -static void ctl_elem_info_set_property(GObject *obj, guint id, - const GValue *val, GParamSpec *spec) -{ - ALSACtlElemInfo *self = ALSACTL_ELEM_INFO(obj); - ALSACtlElemInfoPrivate *priv = alsactl_elem_info_get_instance_private(self); - - switch (id) { - case CTL_ELEM_INFO_PROP_TYPE: - priv->info.type = (ALSACtlElemType)g_value_get_enum(val); - break; - case CTL_ELEM_INFO_PROP_ACCESS: - priv->info.access = (ALSACtlElemAccessFlag)g_value_get_flags(val); - break; - case CTL_ELEM_INFO_PROP_OWNER: - priv->info.owner = g_value_get_int(val); - break; - case CTL_ELEM_INFO_PROP_VALUE_COUNT: - priv->info.count = g_value_get_uint(val); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec); - break; - } -} - -static void ctl_elem_info_get_property(GObject *obj, guint id, GValue *val, - GParamSpec *spec) -{ - ALSACtlElemInfo *self = ALSACTL_ELEM_INFO(obj); - ALSACtlElemInfoPrivate *priv = alsactl_elem_info_get_instance_private(self); - - switch (id) { - case CTL_ELEM_INFO_PROP_ELEM_ID: - g_value_set_static_boxed(val, (const ALSACtlElemId* )&priv->info.id); - break; - case CTL_ELEM_INFO_PROP_TYPE: - g_value_set_enum(val, (ALSACtlElemType)priv->info.type); - break; - case CTL_ELEM_INFO_PROP_ACCESS: - g_value_set_flags(val, priv->info.access); - break; - case CTL_ELEM_INFO_PROP_OWNER: - g_value_set_int(val, priv->info.owner); - break; - case CTL_ELEM_INFO_PROP_VALUE_COUNT: - g_value_set_uint(val, priv->info.count); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec); - break; - } -} - -static void ctl_elem_info_finalize(GObject *obj) -{ - ALSACtlElemInfo *self = ALSACTL_ELEM_INFO(obj); - ALSACtlElemInfoPrivate *priv = alsactl_elem_info_get_instance_private(self); - - g_strfreev(priv->enum_data); - - G_OBJECT_CLASS(alsactl_elem_info_parent_class)->finalize(obj); -} - -static void alsactl_elem_info_class_init(ALSACtlElemInfoClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS(klass); - - gobject_class->set_property = ctl_elem_info_set_property; - gobject_class->get_property = ctl_elem_info_get_property; - gobject_class->finalize = ctl_elem_info_finalize; - - ctl_elem_info_props[CTL_ELEM_INFO_PROP_ELEM_ID] = - g_param_spec_boxed("elem-id", "elem-id", - "The identifier of the element, one of ALSACtlElemId", - ALSACTL_TYPE_ELEM_ID, - G_PARAM_READABLE); - - ctl_elem_info_props[CTL_ELEM_INFO_PROP_TYPE] = - g_param_spec_enum("type", "type", - "The type for this element, one of ALSACtlElemType", - ALSACTL_TYPE_ELEM_TYPE, - ALSACTL_ELEM_TYPE_NONE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); - - ctl_elem_info_props[CTL_ELEM_INFO_PROP_ACCESS] = - g_param_spec_flags("access", "access", - "The access permission for this element with " - "flags of ALSACtlElemAccessFlag.", - ALSACTL_TYPE_ELEM_ACCESS_FLAG, - ALSACTL_ELEM_ACCESS_FLAG_READ, - G_PARAM_READWRITE); - - ctl_elem_info_props[CTL_ELEM_INFO_PROP_OWNER] = - g_param_spec_int("owner", "owner", - "The value of PID for process to own the element", - G_MININT, G_MAXINT, - -1, - G_PARAM_READABLE); - - ctl_elem_info_props[CTL_ELEM_INFO_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); - - g_object_class_install_properties(gobject_class, CTL_ELEM_INFO_PROP_COUNT, - ctl_elem_info_props); -} - -static void alsactl_elem_info_init(ALSACtlElemInfo *self) -{ - ALSACtlElemInfoPrivate *priv = alsactl_elem_info_get_instance_private(self); - - priv->enum_data = NULL; -} - -/** - * alsactl_elem_info_new: - * @elem_type: The type of element, one of [enum@ElemType]. - * @error: A [struct@GLib.Error]. - * - * Allocate and return the instance of [class@ElemInfo]. - * - * Returns: An instance of [class@ElemInfo]. - */ -ALSACtlElemInfo *alsactl_elem_info_new(ALSACtlElemType elem_type, GError **error) -{ - g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - switch (elem_type) { - case ALSACTL_ELEM_TYPE_BOOLEAN: - case ALSACTL_ELEM_TYPE_INTEGER: - case ALSACTL_ELEM_TYPE_ENUMERATED: - case ALSACTL_ELEM_TYPE_BYTES: - case ALSACTL_ELEM_TYPE_IEC60958: - case ALSACTL_ELEM_TYPE_INTEGER64: - break; - default: - g_return_val_if_reached(NULL); - } - - return g_object_new(ALSACTL_TYPE_ELEM_INFO, "type", elem_type, NULL); -} - -/** - * alsactl_elem_info_get_int_data: - * @self: A [class@ElemInfo]. - * @data: (array fixed-size=3)(out)(transfer none): The array with elements for the data of integer - * element; minimum value, maximum value, and value step in the order. - * @error: A [struct@GLib.Error]. - * - * Refer to the array with elements for the data of integer element; minimum value, maximum value, - * and value step in the order. The call of function is successful as long as the information is - * for integer type. - * - * Returns: %TRUE when the overall operation finishes successfully, else %FALSE. - */ -gboolean alsactl_elem_info_get_int_data(ALSACtlElemInfo *self, const gint32 *data[3], GError **error) -{ - ALSACtlElemInfoPrivate *priv; - - g_return_val_if_fail(ALSACTL_IS_ELEM_INFO(self), FALSE); - priv = alsactl_elem_info_get_instance_private(self); - - g_return_val_if_fail(data != NULL, FALSE); - g_return_val_if_fail(error == NULL || *error == NULL, FALSE); - - g_return_val_if_fail(priv->info.type == SNDRV_CTL_ELEM_TYPE_INTEGER, FALSE); - - priv->int_data.min = (gint32)priv->info.value.integer.min; - priv->int_data.max = (gint32)priv->info.value.integer.max; - priv->int_data.step = (gint32)priv->info.value.integer.step; - - *data = (const gint32 *)&priv->int_data; - - return TRUE; -} - -/** - * alsactl_elem_info_set_int_data: - * @self: A [class@ElemInfo]. - * @data: (array fixed-size=3)(transfer none): The array with elements for the data of integer - * element; minimum value, maximum value, and value step in the order. - * @error: A [struct@GLib.Error]. - * - * Get the array with elements for the data of integer element; minimum value, maximum value, and - * value step in the order. The call of function is successful as long as the information is for - * integer type. - * - * Returns: %TRUE when the overall operation finishes successfully, else %FALSE. - */ -gboolean alsactl_elem_info_set_int_data(ALSACtlElemInfo *self, const gint32 data[3], GError **error) -{ - ALSACtlElemInfoPrivate *priv; - - g_return_val_if_fail(ALSACTL_IS_ELEM_INFO(self), FALSE); - priv = alsactl_elem_info_get_instance_private(self); - - g_return_val_if_fail(data != NULL, FALSE); - g_return_val_if_fail(error == NULL || *error == NULL, FALSE); - - g_return_val_if_fail(priv->info.type == SNDRV_CTL_ELEM_TYPE_INTEGER, FALSE); - - priv->info.value.integer.min = (long)data[0]; - priv->info.value.integer.max = (long)data[1]; - priv->info.value.integer.step = (long)data[2]; - - return TRUE; -} - -/** - * alsactl_elem_info_get_int64_data: - * @self: A [class@ElemInfo]. - * @data: (array fixed-size=3)(out)(transfer none): The array with elements for the data of - * integer64 element; minimum value, maximum value, and value step in the order. - * @error: A [struct@GLib.Error]. - * - * Refer to the array with elements for the data of integer64 element; minimum value, maximum - * value, and value step in the order. The call of function is successful as long as the - * information is for integer64 type. - * - * Returns: %TRUE when the overall operation finishes successfully, else %FALSE. - */ -gboolean alsactl_elem_info_get_int64_data(ALSACtlElemInfo *self, const gint64 *data[3], GError **error) -{ - ALSACtlElemInfoPrivate *priv; - - g_return_val_if_fail(ALSACTL_IS_ELEM_INFO(self), FALSE); - priv = alsactl_elem_info_get_instance_private(self); - - g_return_val_if_fail(data != NULL, FALSE); - g_return_val_if_fail(error == NULL || *error == NULL, FALSE); - - g_return_val_if_fail(priv->info.type == SNDRV_CTL_ELEM_TYPE_INTEGER64, FALSE); - - priv->int_data.min = (gint64)priv->info.value.integer.min; - priv->int_data.max = (gint64)priv->info.value.integer.max; - priv->int_data.step = (gint64)priv->info.value.integer.step; - - *data = (const gint64 *)&priv->info.value.integer64; - - return TRUE; -} - -/** - * alsactl_elem_info_set_int64_data: - * @self: A [class@ElemInfo]. - * @data: (array fixed-size=3)(transfer none): The array with elements for the data of integer64 - * element; minimum value, maximum value, and value step in the order. - * @error: A [struct@GLib.Error]. - * - * Get the array with elements for the data of integer64 element; minimum value, maximum value, and - * value step in the order. The call of function is successful as long as the information is for - * integer64 type. - * - * Returns: %TRUE when the overall operation finishes successfully, else %FALSE. - */ -gboolean alsactl_elem_info_set_int64_data(ALSACtlElemInfo *self, const gint64 data[3], GError **error) -{ - ALSACtlElemInfoPrivate *priv; - - g_return_val_if_fail(ALSACTL_IS_ELEM_INFO(self), FALSE); - priv = alsactl_elem_info_get_instance_private(self); - - g_return_val_if_fail(data != NULL, FALSE); - g_return_val_if_fail(error == NULL || *error == NULL, FALSE); - - g_return_val_if_fail(priv->info.type == SNDRV_CTL_ELEM_TYPE_INTEGER64, FALSE); - - priv->info.value.integer.min = (long long)data[0]; - priv->info.value.integer.max = (long long)data[1]; - priv->info.value.integer.step = (long long)data[2]; - - return TRUE; -} - -/** - * alsactl_elem_info_get_enum_data: - * @self: A [class@ElemInfo]. - * @data: (array zero-terminated=1)(out)(transfer none): The array with elements for the label - * entries of enumerated element. - * @error: A [struct@GLib.Error]. - * - * Refer to the array with elements for the label entries of enumerated element in internal storage. - * The call of function is successful as long as the information is for enumerated type. - * - * Returns: %TRUE when the overall operation finishes successfully, else %FALSE. - */ -gboolean alsactl_elem_info_get_enum_data(ALSACtlElemInfo *self, const gchar ***data, GError **error) -{ - ALSACtlElemInfoPrivate *priv; - - g_return_val_if_fail(ALSACTL_IS_ELEM_INFO(self), FALSE); - priv = alsactl_elem_info_get_instance_private(self); - - g_return_val_if_fail(data != NULL, FALSE); - g_return_val_if_fail(error == NULL || *error == NULL, FALSE); - - g_return_val_if_fail(priv->info.type == SNDRV_CTL_ELEM_TYPE_ENUMERATED, FALSE); - - *data = (const gchar **)priv->enum_data; - - return TRUE; -} - -/** - * alsactl_elem_info_set_enum_data: - * @self: A [class@ElemInfo]. - * @data: (array zero-terminated=1): The array with elements for the label entries of enumerated - * element. - * @error: A [struct@GLib.Error]. - * - * Copy the array with elements for the label entries of enumerated element into internal storage. - * The call of function is successful as long as the information is for enumerated type. - * - * Returns: %TRUE when the overall operation finishes successfully, else %FALSE. - */ -gboolean alsactl_elem_info_set_enum_data(ALSACtlElemInfo *self, const gchar **data, GError **error) -{ - ALSACtlElemInfoPrivate *priv; - - g_return_val_if_fail(ALSACTL_IS_ELEM_INFO(self), FALSE); - priv = alsactl_elem_info_get_instance_private(self); - - g_return_val_if_fail(data != NULL, FALSE); - g_return_val_if_fail(error == NULL || *error == NULL, FALSE); - - g_return_val_if_fail(priv->info.type == SNDRV_CTL_ELEM_TYPE_ENUMERATED, FALSE); - - g_strfreev(priv->enum_data); - - priv->enum_data = g_strdupv((gchar **)data); - - return TRUE; -} - -void ctl_elem_info_refer_private(ALSACtlElemInfo *self, struct snd_ctl_elem_info **info) -{ - ALSACtlElemInfoPrivate *priv = alsactl_elem_info_get_instance_private(self); - - *info = &priv->info; -} diff --git a/src/ctl/elem-info.h b/src/ctl/elem-info.h deleted file mode 100644 index a9c2194..0000000 --- a/src/ctl/elem-info.h +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-later -#ifndef __ALSA_GOBJECT_ALSACTL_ELEM_INFO_H__ -#define __ALSA_GOBJECT_ALSACTL_ELEM_INFO_H__ - -#include - -G_BEGIN_DECLS - -#define ALSACTL_TYPE_ELEM_INFO (alsactl_elem_info_get_type()) - -G_DECLARE_DERIVABLE_TYPE(ALSACtlElemInfo, alsactl_elem_info, ALSACTL, ELEM_INFO, GObject); - -struct _ALSACtlElemInfoClass { - GObjectClass parent_class; -}; - -ALSACtlElemInfo *alsactl_elem_info_new(ALSACtlElemType elem_type, GError **error); - -gboolean alsactl_elem_info_get_int_data(ALSACtlElemInfo *self, const gint32 *data[3], GError **error); -gboolean alsactl_elem_info_set_int_data(ALSACtlElemInfo *self, const gint32 data[3], GError **error); - -gboolean alsactl_elem_info_get_int64_data(ALSACtlElemInfo *self, const gint64 *data[3], GError **error); -gboolean alsactl_elem_info_set_int64_data(ALSACtlElemInfo *self, const gint64 data[3], GError **error); - -gboolean alsactl_elem_info_get_enum_data(ALSACtlElemInfo *self, const gchar ***data, GError **error); -gboolean alsactl_elem_info_set_enum_data(ALSACtlElemInfo *self, const gchar **data, GError **error); - -G_END_DECLS - -#endif diff --git a/src/ctl/meson.build b/src/ctl/meson.build index c35480f..2102d17 100644 --- a/src/ctl/meson.build +++ b/src/ctl/meson.build @@ -13,7 +13,6 @@ sources = files( 'card.c', 'card-info.c', 'elem-id.c', - 'elem-info.c', 'elem-value.c', 'elem-info-common.c', 'elem-info-iec60958.c', @@ -30,7 +29,6 @@ headers = files( 'card.h', 'card-info.h', 'elem-id.h', - 'elem-info.h', 'elem-value.h', 'elem-info-common.h', 'elem-info-iec60958.h', diff --git a/src/ctl/privates.h b/src/ctl/privates.h index 5a14f06..a3c2dcb 100644 --- a/src/ctl/privates.h +++ b/src/ctl/privates.h @@ -9,9 +9,6 @@ G_BEGIN_DECLS void ctl_card_info_refer_private(ALSACtlCardInfo *self, struct snd_ctl_card_info **info); -void ctl_elem_info_refer_private(ALSACtlElemInfo *self, - struct snd_ctl_elem_info **info); - void ctl_elem_info_boolean_refer_private(ALSACtlElemInfoBoolean *self, struct snd_ctl_elem_info **data); diff --git a/tests/alsactl-elem-info b/tests/alsactl-elem-info deleted file mode 100644 index 98fe16b..0000000 --- a/tests/alsactl-elem-info +++ /dev/null @@ -1,32 +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.ElemInfo -props = ( - 'elem-id', - 'type', - 'access', - 'owner', - 'value-count', -) -methods = ( - 'new', - 'get_int_data', - 'set_int_data', - 'get_int64_data', - 'set_int64_data', - 'get_enum_data', - 'set_enum_data', -) -signals = () - -if not test(target, props, methods, signals): - exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index 48dc604..f427f0a 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -6,7 +6,6 @@ tests = { 'alsactl-enums', 'alsactl-card', 'alsactl-card-info', - 'alsactl-elem-info', 'alsactl-elem-info-iec60958', 'alsactl-elem-info-boolean', 'alsactl-elem-info-bytes', -- 2.47.3