audio: remove set_dbus_server from audio_driver
Use the QOM class vtable only instead. Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com> Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau committed
Jan 16, 2026 at 00:42 UTC
b95d55f77efb221d256c7326d644996027c6c8da
3 files changed
+12
-44
audio/audio.c
+3
-26
@@ -1640,31 +1640,11 @@ static const char *audio_mixeng_backend_get_id(AudioBackend *be)
1640
return AUDIO_MIXENG_BACKEND(be)->dev->id;
1641
}
1642
1643
-#ifdef CONFIG_GIO
1644
-static bool audio_mixeng_backend_set_dbus_server(AudioBackend *be,
1645
- GDBusObjectManagerServer *manager,
1646
- bool p2p,
1647
- Error **errp)
1648
-{
1649
- AudioMixengBackend *d = AUDIO_MIXENG_BACKEND(be);
1650
-
1651
- if (!d->drv->set_dbus_server) {
1652
- return false;
1653
- }
1654
-
1655
- return d->drv->set_dbus_server(be, manager, p2p, errp);
1656
-}
1657
-
1658
-#endif
1659
-
1643
static void audio_mixeng_backend_class_init(ObjectClass *klass, const void *data)
1644
{
1645
AudioBackendClass *be = AUDIO_BACKEND_CLASS(klass);
1646
1647
be->get_id = audio_mixeng_backend_get_id;
1665
-#ifdef CONFIG_GIO
1666
- be->set_dbus_server = audio_mixeng_backend_set_dbus_server;
1667
-#endif
1648
}
1649
1650
static void audio_mixeng_backend_init(Object *obj)
@@ -2264,12 +2244,9 @@ AudioBackend *audio_be_by_name(const char *name, Error **errp)
2244
#ifdef CONFIG_GIO
2245
bool audio_be_can_set_dbus_server(AudioBackend *be)
2246
{
2267
- /*
2268
- * TODO:
2269
- * AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
2270
- * return klass->set_dbus_server != NULL;
2271
- */
2272
- return AUDIO_MIXENG_BACKEND(be)->drv->set_dbus_server != NULL;
2247
+ AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
2248
+
2249
+ return klass->set_dbus_server != NULL;
2250
}
2251
2252
bool audio_be_set_dbus_server(AudioBackend *be,
audio/audio_int.h
-10
@@ -33,10 +33,6 @@
33
#include "qemu/audio-capture.h"
34
#include "mixeng.h"
35
36
-#ifdef CONFIG_GIO
37
-#include <gio/gio.h>
38
-#endif
39
-
36
void G_GNUC_PRINTF(2, 0)
37
AUD_vlog(const char *cap, const char *fmt, va_list ap);
38
@@ -145,12 +141,6 @@ struct audio_driver {
141
const char *name;
142
void *(*init) (Audiodev *, Error **);
143
void (*fini) (void *);
148
-#ifdef CONFIG_GIO
149
- bool (*set_dbus_server)(AudioBackend *be,
150
- GDBusObjectManagerServer *manager,
151
- bool p2p,
152
- Error **errp);
153
-#endif
144
struct audio_pcm_ops *pcm_ops;
145
int max_voices_out;
146
int max_voices_in;
audio/dbusaudio.c
+9
-8
@@ -54,13 +54,6 @@ struct AudioDbus {
54
55
static struct audio_driver dbus_audio_driver;
56
57
-static void audio_dbus_class_init(ObjectClass *klass, const void *data)
58
-{
59
- AudioMixengBackendClass *k = AUDIO_MIXENG_BACKEND_CLASS(klass);
60
-
61
- k->driver = &dbus_audio_driver;
62
-}
63
-
57
typedef struct DBusAudio {
58
Audiodev *dev;
59
GDBusObjectManagerServer *server;
@@ -720,7 +713,6 @@ static struct audio_driver dbus_audio_driver = {
713
.name = "dbus",
714
.init = dbus_audio_init,
715
.fini = dbus_audio_fini,
723
- .set_dbus_server = dbus_audio_set_server,
716
.pcm_ops = &dbus_pcm_ops,
717
.max_voices_out = INT_MAX,
718
.max_voices_in = INT_MAX,
@@ -728,6 +720,15 @@ static struct audio_driver dbus_audio_driver = {
720
.voice_size_in = sizeof(DBusVoiceIn)
721
};
722
723
+static void audio_dbus_class_init(ObjectClass *klass, const void *data)
724
+{
725
+ AudioBackendClass *b = AUDIO_BACKEND_CLASS(klass);
726
+ AudioMixengBackendClass *k = AUDIO_MIXENG_BACKEND_CLASS(klass);
727
+
728
+ b->set_dbus_server = dbus_audio_set_server;
729
+ k->driver = &dbus_audio_driver;
730
+}
731
+
732
static const TypeInfo audio_dbus_info = {
733
.name = TYPE_AUDIO_DBUS,
734
.parent = TYPE_AUDIO_MIXENG_BACKEND,