Firmware
0.9.0
Toggle main menu visibility
Loading...
Searching...
No Matches
accessory.hpp
Go to the documentation of this file.
1
// Copyright (C) 2025 Vincent Hamp
2
//
3
// This program is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU General Public License as published by
5
// the Free Software Foundation, either version 3 of the License, or
6
// (at your option) any later version.
7
//
8
// This program is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
// GNU General Public License for more details.
12
//
13
// You should have received a copy of the GNU General Public License
14
// along with this program. If not, see <https://www.gnu.org/licenses/>.
15
16
#pragma once
17
18
#include <ArduinoJson.h>
19
#include <dcc/dcc.hpp>
20
#include <optional>
21
#include <string>
22
#include <type_traits>
23
#include <z21/z21.hpp>
24
#include <ztl/string.hpp>
25
26
namespace
mw::dcc
{
27
28
using namespace
::dcc;
29
namespace
z21 = ::z21;
30
32
struct
NvAccessoryBase
: z21::AccessoryInfo {
33
void
fromJson
(JsonVariantConst src);
34
JsonDocument
toJson
()
const
;
35
std::string
name
{};
36
};
37
39
struct
Accessory
:
NvAccessoryBase
{
40
constexpr
Accessory
() =
default
;
41
explicit
Accessory
(JsonVariantConst src);
42
43
void
fromJson
(JsonVariantConst src);
44
JsonDocument
toJson
()
const
;
45
};
46
47
}
// namespace mw::dcc
mw::dcc
Definition
config.hpp:576
mw::dcc::Accessory::toJson
JsonDocument toJson() const
Definition
accessory.cpp:39
mw::dcc::Accessory::fromJson
void fromJson(JsonVariantConst src)
Definition
accessory.cpp:34
mw::dcc::Accessory::Accessory
constexpr Accessory()=default
mw::dcc::NvAccessoryBase
Non-volatile base.
Definition
accessory.hpp:32
mw::dcc::NvAccessoryBase::fromJson
void fromJson(JsonVariantConst src)
Definition
accessory.cpp:22
mw::dcc::NvAccessoryBase::toJson
JsonDocument toJson() const
Definition
accessory.cpp:25
mw::dcc::NvAccessoryBase::name
std::string name
Definition
accessory.hpp:35
src
mw
dcc
accessory.hpp
Firmware 0.9.0