From 1573a8c4cde1cd9528b422b2dcc598e37ffe94a7 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 2 May 2024 19:12:26 +1000 Subject: WIP merge cyclically dependent components into one big component --- src/tangara/events/event_queue.cpp | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/tangara/events/event_queue.cpp (limited to 'src/tangara/events/event_queue.cpp') diff --git a/src/tangara/events/event_queue.cpp b/src/tangara/events/event_queue.cpp new file mode 100644 index 00000000..f8f5b1ee --- /dev/null +++ b/src/tangara/events/event_queue.cpp @@ -0,0 +1,47 @@ +/* + * Copyright 2023 jacqueline + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include "events/event_queue.hpp" + +#include "audio_fsm.hpp" +#include "freertos/FreeRTOS.h" +#include "freertos/portmacro.h" +#include "freertos/queue.h" +#include "system_fsm.hpp" +#include "ui_fsm.hpp" + +namespace events { + +namespace queues { +static Queue sSystemAndAudio; +static Queue sUi; + +auto SystemAndAudio() -> Queue* { + return &sSystemAndAudio; +} + +auto Ui() -> Queue* { + return &sUi; +} +} // namespace queues + +static Dispatcher sSystem{queues::SystemAndAudio()}; +static Dispatcher sAudio{queues::SystemAndAudio()}; +static Dispatcher sUi{queues::Ui()}; + +auto System() -> Dispatcher& { + return sSystem; +} + +auto Audio() -> Dispatcher& { + return sAudio; +} + +auto Ui() -> Dispatcher& { + return sUi; +} + +} // namespace events -- cgit v1.2.3