xref: /openbmc/bmcweb/features/redfish/include/generated/enums/control.hpp (revision f263e09c81b798bcf123df8fb144499389e9cbd1)
1853c0dc5SEd Tanous #pragma once
2853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3853c0dc5SEd Tanous 
4853c0dc5SEd Tanous namespace control
5853c0dc5SEd Tanous {
6853c0dc5SEd Tanous // clang-format off
7853c0dc5SEd Tanous 
8853c0dc5SEd Tanous enum class ControlType{
9853c0dc5SEd Tanous     Invalid,
10853c0dc5SEd Tanous     Temperature,
11853c0dc5SEd Tanous     Power,
12853c0dc5SEd Tanous     Frequency,
13853c0dc5SEd Tanous     FrequencyMHz,
14853c0dc5SEd Tanous     Pressure,
15*f263e09cSEd Tanous     PressurekPa,
16*f263e09cSEd Tanous     Valve,
17853c0dc5SEd Tanous };
18853c0dc5SEd Tanous 
19853c0dc5SEd Tanous enum class SetPointType{
20853c0dc5SEd Tanous     Invalid,
21853c0dc5SEd Tanous     Single,
22853c0dc5SEd Tanous     Range,
23853c0dc5SEd Tanous };
24853c0dc5SEd Tanous 
25853c0dc5SEd Tanous enum class ControlMode{
26853c0dc5SEd Tanous     Invalid,
27853c0dc5SEd Tanous     Automatic,
28853c0dc5SEd Tanous     Override,
29853c0dc5SEd Tanous     Manual,
30853c0dc5SEd Tanous     Disabled,
31853c0dc5SEd Tanous };
32853c0dc5SEd Tanous 
33853c0dc5SEd Tanous enum class ImplementationType{
34853c0dc5SEd Tanous     Invalid,
35853c0dc5SEd Tanous     Programmable,
36853c0dc5SEd Tanous     Direct,
37853c0dc5SEd Tanous     Monitored,
38853c0dc5SEd Tanous };
39853c0dc5SEd Tanous 
40853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ControlType, {
41853c0dc5SEd Tanous     {ControlType::Invalid, "Invalid"},
42853c0dc5SEd Tanous     {ControlType::Temperature, "Temperature"},
43853c0dc5SEd Tanous     {ControlType::Power, "Power"},
44853c0dc5SEd Tanous     {ControlType::Frequency, "Frequency"},
45853c0dc5SEd Tanous     {ControlType::FrequencyMHz, "FrequencyMHz"},
46853c0dc5SEd Tanous     {ControlType::Pressure, "Pressure"},
47*f263e09cSEd Tanous     {ControlType::PressurekPa, "PressurekPa"},
48*f263e09cSEd Tanous     {ControlType::Valve, "Valve"},
49853c0dc5SEd Tanous });
50853c0dc5SEd Tanous 
51853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SetPointType, {
52853c0dc5SEd Tanous     {SetPointType::Invalid, "Invalid"},
53853c0dc5SEd Tanous     {SetPointType::Single, "Single"},
54853c0dc5SEd Tanous     {SetPointType::Range, "Range"},
55853c0dc5SEd Tanous });
56853c0dc5SEd Tanous 
57853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ControlMode, {
58853c0dc5SEd Tanous     {ControlMode::Invalid, "Invalid"},
59853c0dc5SEd Tanous     {ControlMode::Automatic, "Automatic"},
60853c0dc5SEd Tanous     {ControlMode::Override, "Override"},
61853c0dc5SEd Tanous     {ControlMode::Manual, "Manual"},
62853c0dc5SEd Tanous     {ControlMode::Disabled, "Disabled"},
63853c0dc5SEd Tanous });
64853c0dc5SEd Tanous 
65853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ImplementationType, {
66853c0dc5SEd Tanous     {ImplementationType::Invalid, "Invalid"},
67853c0dc5SEd Tanous     {ImplementationType::Programmable, "Programmable"},
68853c0dc5SEd Tanous     {ImplementationType::Direct, "Direct"},
69853c0dc5SEd Tanous     {ImplementationType::Monitored, "Monitored"},
70853c0dc5SEd Tanous });
71853c0dc5SEd Tanous 
72853c0dc5SEd Tanous }
73853c0dc5SEd Tanous // clang-format on
74