REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
carrier.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 <carrier/carrier.h>
9
10namespace msg {
11namespace handlers {
12
14class SetConfigMessageHandler : public msg::handlers::MessageHandler {
15public:
16 utils::status replyWithObject(const msg::Request& req, JsonObject &msg_out) override {
17 // Attention: We do not use carrier.user_set_config (which is actually Entity::user_set_config)
18 // because we want to expose a few "goodies" at Carrier level
19 return carrier::get().user_set_extended_config(req.msg_in, msg_out);
20 }
21};
22
24class GetConfigMessageHandler : public msg::handlers::MessageHandler {
25public:
26 utils::status replyWithObject(const msg::Request& req, JsonObject &msg_out) override {
27 return carrier::get().user_get_config(req.msg_in, msg_out);
28 }
29};
30
32class GetEntitiesRequestHandler : public msg::handlers::MessageHandler {
33public:
34 utils::status replyWithObject(const msg::Request& req, JsonObject &msg_out) override {
35 auto entities_obj = msg_out.createNestedObject("entities");
36 carrier::get().classifier_to_json(entities_obj);
37 return utils::status::success();
38 }
39};
40
42class ResetRequestHandler : public msg::handlers::MessageHandler {
43public:
44 utils::status replyWithObject(const msg::Request& req, JsonObject &msg_out) override {
45 return carrier::get().user_reset_config(req.msg_in, msg_out);
46 }
47};
48
49class GetOverloadStatusHandler : public msg::handlers::MessageHandler {
50public:
51 utils::status replyWithObject(const msg::Request& req, JsonObject &msg_out) override {
52 return carrier::get().user_get_overload_status(req.msg_in, msg_out);
53 }
54};
55
56class ReadTemperaturesHandler : public msg::handlers::MessageHandler {
57public:
58 utils::status replyWithObject(const msg::Request& req, JsonObject &msg_out) override {
59 auto entities_obj = msg_out.createNestedObject("entities");
60 carrier::get().temperatures_to_json(entities_obj);
61 return utils::status::success();
62 }
63};
64
65} // namespace handlers
66} // namespace msg
utils::status replyWithObject(const msg::Request &req, JsonObject &msg_out) override
Definition carrier.h:26
utils::status replyWithObject(const msg::Request &req, JsonObject &msg_out) override
Definition carrier.h:34
utils::status replyWithObject(const msg::Request &req, JsonObject &msg_out) override
Definition carrier.h:51
utils::status replyWithObject(const msg::Request &req, JsonObject &msg_out) override
Definition carrier.h:58
utils::status replyWithObject(const msg::Request &req, JsonObject &msg_out) override
Definition carrier.h:44
utils::status replyWithObject(const msg::Request &req, JsonObject &msg_out) override
Definition carrier.h:16
Definition carrier.h:10