diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-11-07 10:32:07 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-11-07 10:32:07 +1100 |
| commit | 499d5a942fc2ad0149b0a16e978e090336dd8319 (patch) | |
| tree | 1f671f0e3025b1350b25511e2442dfede19677df /src/system_fsm/include | |
| parent | d36fe9be6b522a3dade389213a0bb7e26a169627 (diff) | |
| download | tangara-fw-499d5a942fc2ad0149b0a16e978e090336dd8319.tar.gz | |
Add a wrapper codec source that does readahead
Diffstat (limited to 'src/system_fsm/include')
| -rw-r--r-- | src/system_fsm/include/service_locator.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/system_fsm/include/service_locator.hpp b/src/system_fsm/include/service_locator.hpp index 24dc1eb9..327d0c50 100644 --- a/src/system_fsm/include/service_locator.hpp +++ b/src/system_fsm/include/service_locator.hpp @@ -17,6 +17,7 @@ #include "samd.hpp" #include "storage.hpp" #include "tag_parser.hpp" +#include "tasks.hpp" #include "touchwheel.hpp" #include "track_queue.hpp" @@ -111,6 +112,15 @@ class ServiceLocator { collator_ = std::move(i); } + auto bg_worker() -> tasks::Worker& { + assert(bg_worker_ != nullptr); + return *bg_worker_; + } + + auto bg_worker(std::unique_ptr<tasks::Worker> w) -> void { + bg_worker_ = std::move(w); + } + // Not copyable or movable. ServiceLocator(const ServiceLocator&) = delete; ServiceLocator& operator=(const ServiceLocator&) = delete; @@ -129,6 +139,8 @@ class ServiceLocator { std::unique_ptr<database::ITagParser> tag_parser_; std::unique_ptr<locale::ICollator> collator_; + std::unique_ptr<tasks::Worker> bg_worker_; + drivers::SdState sd_; }; |
