blob: d39c40e374ee2fa7c101d1958d39b26737c182e4 [file] [log] [blame]
#pragma once
#include <cstdint>
#include <nlohmann/json.hpp>
namespace attribute_registry
{
// clang-format off
enum class AttributeType : std::uint8_t{
Invalid,
Enumeration,
String,
Integer,
Boolean,
Password,
};
enum class DependencyType : std::uint8_t{
Invalid,
Map,
};
enum class MapFromCondition : std::uint8_t{
Invalid,
EQU,
NEQ,
GTR,
GEQ,
LSS,
LEQ,
};
enum class MapFromProperty : std::uint8_t{
Invalid,
CurrentValue,
DefaultValue,
ReadOnly,
WriteOnly,
GrayOut,
Hidden,
LowerBound,
UpperBound,
MinLength,
MaxLength,
ScalarIncrement,
};
enum class MapTerms : std::uint8_t{
Invalid,
AND,
OR,
};
enum class MapToProperty : std::uint8_t{
Invalid,
CurrentValue,
DefaultValue,
ReadOnly,
WriteOnly,
GrayOut,
Hidden,
Immutable,
HelpText,
WarningText,
DisplayName,
DisplayOrder,
LowerBound,
UpperBound,
MinLength,
MaxLength,
ScalarIncrement,
ValueExpression,
};
NLOHMANN_JSON_SERIALIZE_ENUM(AttributeType, {
{AttributeType::Invalid, "Invalid"},
{AttributeType::Enumeration, "Enumeration"},
{AttributeType::String, "String"},
{AttributeType::Integer, "Integer"},
{AttributeType::Boolean, "Boolean"},
{AttributeType::Password, "Password"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(DependencyType, {
{DependencyType::Invalid, "Invalid"},
{DependencyType::Map, "Map"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(MapFromCondition, {
{MapFromCondition::Invalid, "Invalid"},
{MapFromCondition::EQU, "EQU"},
{MapFromCondition::NEQ, "NEQ"},
{MapFromCondition::GTR, "GTR"},
{MapFromCondition::GEQ, "GEQ"},
{MapFromCondition::LSS, "LSS"},
{MapFromCondition::LEQ, "LEQ"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(MapFromProperty, {
{MapFromProperty::Invalid, "Invalid"},
{MapFromProperty::CurrentValue, "CurrentValue"},
{MapFromProperty::DefaultValue, "DefaultValue"},
{MapFromProperty::ReadOnly, "ReadOnly"},
{MapFromProperty::WriteOnly, "WriteOnly"},
{MapFromProperty::GrayOut, "GrayOut"},
{MapFromProperty::Hidden, "Hidden"},
{MapFromProperty::LowerBound, "LowerBound"},
{MapFromProperty::UpperBound, "UpperBound"},
{MapFromProperty::MinLength, "MinLength"},
{MapFromProperty::MaxLength, "MaxLength"},
{MapFromProperty::ScalarIncrement, "ScalarIncrement"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(MapTerms, {
{MapTerms::Invalid, "Invalid"},
{MapTerms::AND, "AND"},
{MapTerms::OR, "OR"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(MapToProperty, {
{MapToProperty::Invalid, "Invalid"},
{MapToProperty::CurrentValue, "CurrentValue"},
{MapToProperty::DefaultValue, "DefaultValue"},
{MapToProperty::ReadOnly, "ReadOnly"},
{MapToProperty::WriteOnly, "WriteOnly"},
{MapToProperty::GrayOut, "GrayOut"},
{MapToProperty::Hidden, "Hidden"},
{MapToProperty::Immutable, "Immutable"},
{MapToProperty::HelpText, "HelpText"},
{MapToProperty::WarningText, "WarningText"},
{MapToProperty::DisplayName, "DisplayName"},
{MapToProperty::DisplayOrder, "DisplayOrder"},
{MapToProperty::LowerBound, "LowerBound"},
{MapToProperty::UpperBound, "UpperBound"},
{MapToProperty::MinLength, "MinLength"},
{MapToProperty::MaxLength, "MaxLength"},
{MapToProperty::ScalarIncrement, "ScalarIncrement"},
{MapToProperty::ValueExpression, "ValueExpression"},
});
} // namespace attribute_registry
// clang-format on