From a64f0f719ff4154cbd3d8f78dbb41c8e816eb672 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Sun, 20 Sep 2009 13:57:10 +0100 Subject: device-manager: Let subscribed clients know when something changes. --- src/modules/module-device-manager.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/modules/module-device-manager.c') diff --git a/src/modules/module-device-manager.c b/src/modules/module-device-manager.c index 0a0c39dc..59aedd67 100644 --- a/src/modules/module-device-manager.c +++ b/src/modules/module-device-manager.c @@ -174,6 +174,22 @@ fail: } static void trigger_save(struct userdata *u) { + pa_native_connection *c; + uint32_t idx; + + for (c = pa_idxset_first(u->subscribed, &idx); c; c = pa_idxset_next(u->subscribed, &idx)) { + pa_tagstruct *t; + + t = pa_tagstruct_new(NULL, 0); + pa_tagstruct_putu32(t, PA_COMMAND_EXTENSION); + pa_tagstruct_putu32(t, 0); + pa_tagstruct_putu32(t, u->module->index); + pa_tagstruct_puts(t, u->module->name); + pa_tagstruct_putu32(t, SUBCOMMAND_EVENT); + + pa_pstream_send_tagstruct(pa_native_connection_get_pstream(c), t); + } + if (u->save_time_event) return; -- cgit