/* * Copyright 2023 jacqueline * * SPDX-License-Identifier: GPL-3.0-only */ #include "events/event_queue.hpp" #include "freertos/FreeRTOS.h" #include "freertos/portmacro.h" #include "freertos/queue.h" #include "audio/audio_fsm.hpp" #include "system_fsm/system_fsm.hpp" #include "ui/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