xref: /openbmc/bmcweb/redfish-core/include/generated/enums/attribute_registry.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 #include <nlohmann/json.hpp>
5 
6 namespace attribute_registry
7 {
8 // clang-format off
9 
10 enum class AttributeType{
11     Invalid,
12     Enumeration,
13     String,
14     Integer,
15     Boolean,
16     Password,
17 };
18 
19 enum class DependencyType{
20     Invalid,
21     Map,
22 };
23 
24 enum class MapFromCondition{
25     Invalid,
26     EQU,
27     NEQ,
28     GTR,
29     GEQ,
30     LSS,
31     LEQ,
32 };
33 
34 enum class MapFromProperty{
35     Invalid,
36     CurrentValue,
37     DefaultValue,
38     ReadOnly,
39     WriteOnly,
40     GrayOut,
41     Hidden,
42     LowerBound,
43     UpperBound,
44     MinLength,
45     MaxLength,
46     ScalarIncrement,
47 };
48 
49 enum class MapTerms{
50     Invalid,
51     AND,
52     OR,
53 };
54 
55 enum class MapToProperty{
56     Invalid,
57     CurrentValue,
58     DefaultValue,
59     ReadOnly,
60     WriteOnly,
61     GrayOut,
62     Hidden,
63     Immutable,
64     HelpText,
65     WarningText,
66     DisplayName,
67     DisplayOrder,
68     LowerBound,
69     UpperBound,
70     MinLength,
71     MaxLength,
72     ScalarIncrement,
73     ValueExpression,
74 };
75 
76 NLOHMANN_JSON_SERIALIZE_ENUM(AttributeType, {
77     {AttributeType::Invalid, "Invalid"},
78     {AttributeType::Enumeration, "Enumeration"},
79     {AttributeType::String, "String"},
80     {AttributeType::Integer, "Integer"},
81     {AttributeType::Boolean, "Boolean"},
82     {AttributeType::Password, "Password"},
83 });
84 
85 NLOHMANN_JSON_SERIALIZE_ENUM(DependencyType, {
86     {DependencyType::Invalid, "Invalid"},
87     {DependencyType::Map, "Map"},
88 });
89 
90 NLOHMANN_JSON_SERIALIZE_ENUM(MapFromCondition, {
91     {MapFromCondition::Invalid, "Invalid"},
92     {MapFromCondition::EQU, "EQU"},
93     {MapFromCondition::NEQ, "NEQ"},
94     {MapFromCondition::GTR, "GTR"},
95     {MapFromCondition::GEQ, "GEQ"},
96     {MapFromCondition::LSS, "LSS"},
97     {MapFromCondition::LEQ, "LEQ"},
98 });
99 
100 NLOHMANN_JSON_SERIALIZE_ENUM(MapFromProperty, {
101     {MapFromProperty::Invalid, "Invalid"},
102     {MapFromProperty::CurrentValue, "CurrentValue"},
103     {MapFromProperty::DefaultValue, "DefaultValue"},
104     {MapFromProperty::ReadOnly, "ReadOnly"},
105     {MapFromProperty::WriteOnly, "WriteOnly"},
106     {MapFromProperty::GrayOut, "GrayOut"},
107     {MapFromProperty::Hidden, "Hidden"},
108     {MapFromProperty::LowerBound, "LowerBound"},
109     {MapFromProperty::UpperBound, "UpperBound"},
110     {MapFromProperty::MinLength, "MinLength"},
111     {MapFromProperty::MaxLength, "MaxLength"},
112     {MapFromProperty::ScalarIncrement, "ScalarIncrement"},
113 });
114 
115 NLOHMANN_JSON_SERIALIZE_ENUM(MapTerms, {
116     {MapTerms::Invalid, "Invalid"},
117     {MapTerms::AND, "AND"},
118     {MapTerms::OR, "OR"},
119 });
120 
121 NLOHMANN_JSON_SERIALIZE_ENUM(MapToProperty, {
122     {MapToProperty::Invalid, "Invalid"},
123     {MapToProperty::CurrentValue, "CurrentValue"},
124     {MapToProperty::DefaultValue, "DefaultValue"},
125     {MapToProperty::ReadOnly, "ReadOnly"},
126     {MapToProperty::WriteOnly, "WriteOnly"},
127     {MapToProperty::GrayOut, "GrayOut"},
128     {MapToProperty::Hidden, "Hidden"},
129     {MapToProperty::Immutable, "Immutable"},
130     {MapToProperty::HelpText, "HelpText"},
131     {MapToProperty::WarningText, "WarningText"},
132     {MapToProperty::DisplayName, "DisplayName"},
133     {MapToProperty::DisplayOrder, "DisplayOrder"},
134     {MapToProperty::LowerBound, "LowerBound"},
135     {MapToProperty::UpperBound, "UpperBound"},
136     {MapToProperty::MinLength, "MinLength"},
137     {MapToProperty::MaxLength, "MaxLength"},
138     {MapToProperty::ScalarIncrement, "ScalarIncrement"},
139     {MapToProperty::ValueExpression, "ValueExpression"},
140 });
141 
142 }
143 // clang-format on
144