summaryrefslogtreecommitdiff
path: root/src/system_fsm/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-11-07 10:32:07 +1100
committerjacqueline <me@jacqueline.id.au>2023-11-07 10:32:07 +1100
commit499d5a942fc2ad0149b0a16e978e090336dd8319 (patch)
tree1f671f0e3025b1350b25511e2442dfede19677df /src/system_fsm/include
parentd36fe9be6b522a3dade389213a0bb7e26a169627 (diff)
downloadtangara-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.hpp12
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_;
};