xref: /openbmc/bmcweb/features/redfish/include/generated/enums/control.hpp (revision 2ae81db99a155febe45d27e3834cfa5471b3ecdf)
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,
15f263e09cSEd Tanous     PressurekPa,
16f263e09cSEd Tanous     Valve,
17*2ae81db9SGunnar Mills     Percent,
18*2ae81db9SGunnar Mills     DutyCycle,
19853c0dc5SEd Tanous };
20853c0dc5SEd Tanous 
21853c0dc5SEd Tanous enum class SetPointType{
22853c0dc5SEd Tanous     Invalid,
23853c0dc5SEd Tanous     Single,
24853c0dc5SEd Tanous     Range,
25853c0dc5SEd Tanous };
26853c0dc5SEd Tanous 
27853c0dc5SEd Tanous enum class ControlMode{
28853c0dc5SEd Tanous     Invalid,
29853c0dc5SEd Tanous     Automatic,
30853c0dc5SEd Tanous     Override,
31853c0dc5SEd Tanous     Manual,
32853c0dc5SEd Tanous     Disabled,
33853c0dc5SEd Tanous };
34853c0dc5SEd Tanous 
35853c0dc5SEd Tanous enum class ImplementationType{
36853c0dc5SEd Tanous     Invalid,
37853c0dc5SEd Tanous     Programmable,
38853c0dc5SEd Tanous     Direct,
39853c0dc5SEd Tanous     Monitored,
40853c0dc5SEd Tanous };
41853c0dc5SEd Tanous 
42853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ControlType, {
43853c0dc5SEd Tanous     {ControlType::Invalid, "Invalid"},
44853c0dc5SEd Tanous     {ControlType::Temperature, "Temperature"},
45853c0dc5SEd Tanous     {ControlType::Power, "Power"},
46853c0dc5SEd Tanous     {ControlType::Frequency, "Frequency"},
47853c0dc5SEd Tanous     {ControlType::FrequencyMHz, "FrequencyMHz"},
48853c0dc5SEd Tanous     {ControlType::Pressure, "Pressure"},
49f263e09cSEd Tanous     {ControlType::PressurekPa, "PressurekPa"},
50f263e09cSEd Tanous     {ControlType::Valve, "Valve"},
51*2ae81db9SGunnar Mills     {ControlType::Percent, "Percent"},
52*2ae81db9SGunnar Mills     {ControlType::DutyCycle, "DutyCycle"},
53853c0dc5SEd Tanous });
54853c0dc5SEd Tanous 
55853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SetPointType, {
56853c0dc5SEd Tanous     {SetPointType::Invalid, "Invalid"},
57853c0dc5SEd Tanous     {SetPointType::Single, "Single"},
58853c0dc5SEd Tanous     {SetPointType::Range, "Range"},
59853c0dc5SEd Tanous });
60853c0dc5SEd Tanous 
61853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ControlMode, {
62853c0dc5SEd Tanous     {ControlMode::Invalid, "Invalid"},
63853c0dc5SEd Tanous     {ControlMode::Automatic, "Automatic"},
64853c0dc5SEd Tanous     {ControlMode::Override, "Override"},
65853c0dc5SEd Tanous     {ControlMode::Manual, "Manual"},
66853c0dc5SEd Tanous     {ControlMode::Disabled, "Disabled"},
67853c0dc5SEd Tanous });
68853c0dc5SEd Tanous 
69853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ImplementationType, {
70853c0dc5SEd Tanous     {ImplementationType::Invalid, "Invalid"},
71853c0dc5SEd Tanous     {ImplementationType::Programmable, "Programmable"},
72853c0dc5SEd Tanous     {ImplementationType::Direct, "Direct"},
73853c0dc5SEd Tanous     {ImplementationType::Monitored, "Monitored"},
74853c0dc5SEd Tanous });
75853c0dc5SEd Tanous 
76853c0dc5SEd Tanous }
77853c0dc5SEd Tanous // clang-format on
78