xref: /openbmc/bmcweb/redfish-core/include/generated/enums/connection.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 connection
7 {
8 // clang-format off
9 
10 enum class ConnectionType{
11     Invalid,
12     Storage,
13     Memory,
14 };
15 
16 enum class AccessCapability{
17     Invalid,
18     Read,
19     Write,
20 };
21 
22 enum class AccessState{
23     Invalid,
24     Optimized,
25     NonOptimized,
26     Standby,
27     Unavailable,
28     Transitioning,
29 };
30 
31 NLOHMANN_JSON_SERIALIZE_ENUM(ConnectionType, {
32     {ConnectionType::Invalid, "Invalid"},
33     {ConnectionType::Storage, "Storage"},
34     {ConnectionType::Memory, "Memory"},
35 });
36 
37 NLOHMANN_JSON_SERIALIZE_ENUM(AccessCapability, {
38     {AccessCapability::Invalid, "Invalid"},
39     {AccessCapability::Read, "Read"},
40     {AccessCapability::Write, "Write"},
41 });
42 
43 NLOHMANN_JSON_SERIALIZE_ENUM(AccessState, {
44     {AccessState::Invalid, "Invalid"},
45     {AccessState::Optimized, "Optimized"},
46     {AccessState::NonOptimized, "NonOptimized"},
47     {AccessState::Standby, "Standby"},
48     {AccessState::Unavailable, "Unavailable"},
49     {AccessState::Transitioning, "Transitioning"},
50 });
51 
52 }
53 // clang-format on
54