REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
run_manager.h
Go to the documentation of this file.
1// Copyright (c) 2024 anabrid GmbH
2// Contact: https://www.anabrid.com/licensing/
3// SPDX-License-Identifier: MIT OR GPL-2.0-or-later
4
5#pragma once
6
7#include "protocol/handler.h"
8#include "run/manager.h"
9#include "run/registry.h"
10
11namespace msg {
12
13namespace handlers {
14
16class StartRunRequestHandler : public MessageHandler {
17public:
18 bool replyStreaming(const Request& req, Stream &io) override {
19 run::RunManager::get().start_run(req, io);
20 return true; // = is implemented
21 }
22};
23
24class ListRunDriverRegistryHandler : public MessageHandler {
25public:
26 utils::status replyWithObject(const Request& req, JsonObject &msg_out) override {
27 auto types_list = msg_out.createNestedArray("available_types");
28 run::drivers::DynamicRegistry::get().write_handler_names_to(types_list);
29 return utils::status::success();
30 }
31};
32
33class StopRunRequestHandler : public MessageHandler {
34public:
35 utils::status replyWithObject(const Request& req, JsonObject &msg_out) override {
36 return utils::status(run::RunManager::get().stop_run(req.msg_in, msg_out));
37 }
38};
39
40} // namespace handlers
41
42} // namespace msg
utils::status replyWithObject(const Request &req, JsonObject &msg_out) override
Definition run_manager.h:26
bool replyStreaming(const Request &req, Stream &io) override
Definition run_manager.h:18
utils::status replyWithObject(const Request &req, JsonObject &msg_out) override
Definition run_manager.h:35
Definition carrier.h:10