xref: /openbmc/bmcweb/features/redfish/include/generated/enums/control.hpp (revision 853c0dc5486bbab77b2d1f158152de93847c20d9)
1*853c0dc5SEd Tanous #pragma once
2*853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3*853c0dc5SEd Tanous 
4*853c0dc5SEd Tanous namespace control
5*853c0dc5SEd Tanous {
6*853c0dc5SEd Tanous // clang-format off
7*853c0dc5SEd Tanous 
8*853c0dc5SEd Tanous enum class ControlType{
9*853c0dc5SEd Tanous     Invalid,
10*853c0dc5SEd Tanous     Temperature,
11*853c0dc5SEd Tanous     Power,
12*853c0dc5SEd Tanous     Frequency,
13*853c0dc5SEd Tanous     FrequencyMHz,
14*853c0dc5SEd Tanous     Pressure,
15*853c0dc5SEd Tanous };
16*853c0dc5SEd Tanous 
17*853c0dc5SEd Tanous enum class SetPointType{
18*853c0dc5SEd Tanous     Invalid,
19*853c0dc5SEd Tanous     Single,
20*853c0dc5SEd Tanous     Range,
21*853c0dc5SEd Tanous };
22*853c0dc5SEd Tanous 
23*853c0dc5SEd Tanous enum class ControlMode{
24*853c0dc5SEd Tanous     Invalid,
25*853c0dc5SEd Tanous     Automatic,
26*853c0dc5SEd Tanous     Override,
27*853c0dc5SEd Tanous     Manual,
28*853c0dc5SEd Tanous     Disabled,
29*853c0dc5SEd Tanous };
30*853c0dc5SEd Tanous 
31*853c0dc5SEd Tanous enum class ImplementationType{
32*853c0dc5SEd Tanous     Invalid,
33*853c0dc5SEd Tanous     Programmable,
34*853c0dc5SEd Tanous     Direct,
35*853c0dc5SEd Tanous     Monitored,
36*853c0dc5SEd Tanous };
37*853c0dc5SEd Tanous 
38*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ControlType, {
39*853c0dc5SEd Tanous     {ControlType::Invalid, "Invalid"},
40*853c0dc5SEd Tanous     {ControlType::Temperature, "Temperature"},
41*853c0dc5SEd Tanous     {ControlType::Power, "Power"},
42*853c0dc5SEd Tanous     {ControlType::Frequency, "Frequency"},
43*853c0dc5SEd Tanous     {ControlType::FrequencyMHz, "FrequencyMHz"},
44*853c0dc5SEd Tanous     {ControlType::Pressure, "Pressure"},
45*853c0dc5SEd Tanous });
46*853c0dc5SEd Tanous 
47*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SetPointType, {
48*853c0dc5SEd Tanous     {SetPointType::Invalid, "Invalid"},
49*853c0dc5SEd Tanous     {SetPointType::Single, "Single"},
50*853c0dc5SEd Tanous     {SetPointType::Range, "Range"},
51*853c0dc5SEd Tanous });
52*853c0dc5SEd Tanous 
53*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ControlMode, {
54*853c0dc5SEd Tanous     {ControlMode::Invalid, "Invalid"},
55*853c0dc5SEd Tanous     {ControlMode::Automatic, "Automatic"},
56*853c0dc5SEd Tanous     {ControlMode::Override, "Override"},
57*853c0dc5SEd Tanous     {ControlMode::Manual, "Manual"},
58*853c0dc5SEd Tanous     {ControlMode::Disabled, "Disabled"},
59*853c0dc5SEd Tanous });
60*853c0dc5SEd Tanous 
61*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ImplementationType, {
62*853c0dc5SEd Tanous     {ImplementationType::Invalid, "Invalid"},
63*853c0dc5SEd Tanous     {ImplementationType::Programmable, "Programmable"},
64*853c0dc5SEd Tanous     {ImplementationType::Direct, "Direct"},
65*853c0dc5SEd Tanous     {ImplementationType::Monitored, "Monitored"},
66*853c0dc5SEd Tanous });
67*853c0dc5SEd Tanous 
68*853c0dc5SEd Tanous }
69*853c0dc5SEd Tanous // clang-format on
70