xref: /openbmc/bmcweb/redfish-core/include/generated/enums/memory_chunks.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 memory_chunks
7 {
8 // clang-format off
9 
10 enum class AddressRangeType{
11     Invalid,
12     Volatile,
13     PMEM,
14     Block,
15 };
16 
17 enum class MediaLocation{
18     Invalid,
19     Local,
20     Remote,
21     Mixed,
22 };
23 
24 enum class OperationalState{
25     Invalid,
26     Online,
27     Offline,
28 };
29 
30 NLOHMANN_JSON_SERIALIZE_ENUM(AddressRangeType, {
31     {AddressRangeType::Invalid, "Invalid"},
32     {AddressRangeType::Volatile, "Volatile"},
33     {AddressRangeType::PMEM, "PMEM"},
34     {AddressRangeType::Block, "Block"},
35 });
36 
37 NLOHMANN_JSON_SERIALIZE_ENUM(MediaLocation, {
38     {MediaLocation::Invalid, "Invalid"},
39     {MediaLocation::Local, "Local"},
40     {MediaLocation::Remote, "Remote"},
41     {MediaLocation::Mixed, "Mixed"},
42 });
43 
44 NLOHMANN_JSON_SERIALIZE_ENUM(OperationalState, {
45     {OperationalState::Invalid, "Invalid"},
46     {OperationalState::Online, "Online"},
47     {OperationalState::Offline, "Offline"},
48 });
49 
50 }
51 // clang-format on
52