From 59dd9b83331c93d5e5af0b41fafe3f6fb41a694b Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Mon, 18 Nov 2019 13:22:44 +0900 Subject: [PATCH] ctl: elem_id: add GObject derived object for identifier of control element --- src/ctl/alsactl.map | 2 ++ src/ctl/elem-id.c | 9 +++++++++ src/ctl/elem-id.h | 20 ++++++++++++++++++++ src/ctl/meson.build | 2 ++ 4 files changed, 33 insertions(+) create mode 100644 src/ctl/elem-id.c create mode 100644 src/ctl/elem-id.h diff --git a/src/ctl/alsactl.map b/src/ctl/alsactl.map index 8cd4703..1abe9b2 100644 --- a/src/ctl/alsactl.map +++ b/src/ctl/alsactl.map @@ -17,6 +17,8 @@ ALSA_GOBJECT_0_0_0 { "alsactl_card_get_info"; "alsactl_card_info_get_type"; + + "alsactl_elem_id_get_type"; local: *; }; diff --git a/src/ctl/elem-id.c b/src/ctl/elem-id.c new file mode 100644 index 0000000..d0ab59b --- /dev/null +++ b/src/ctl/elem-id.c @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "elem-id.h" + +ALSACtlElemId *ctl_elem_id_copy(const ALSACtlElemId *self) +{ + return g_memdup(self, sizeof(*self)); +} + +G_DEFINE_BOXED_TYPE(ALSACtlElemId, alsactl_elem_id, ctl_elem_id_copy, g_free); diff --git a/src/ctl/elem-id.h b/src/ctl/elem-id.h new file mode 100644 index 0000000..7d62c53 --- /dev/null +++ b/src/ctl/elem-id.h @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSACTL_ELEM_ID__H__ +#define __ALSA_GOBJECT_ALSACTL_ELEM_ID__H__ + +#include +#include + +#include + +G_BEGIN_DECLS + +#define ALSACTL_TYPE_ELEM_ID (alsactl_elem_id_get_type()) + +typedef struct snd_ctl_elem_id ALSACtlElemId; + +GType alsactl_elem_id_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/src/ctl/meson.build b/src/ctl/meson.build index 00c61f5..817930a 100644 --- a/src/ctl/meson.build +++ b/src/ctl/meson.build @@ -12,12 +12,14 @@ sources = files( 'query.c', 'card.c', 'card-info.c', + 'elem-id.c', ) headers = files( 'query.h', 'card.h', 'card-info.h', + 'elem-id.h', ) privates = files( -- 2.47.3