xref: /openbmc/bmcweb/features/redfish/include/generated/enums/memory_chunks.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace memory_chunks
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class AddressRangeType{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     Volatile,
13853c0dc5SEd Tanous     PMEM,
14853c0dc5SEd Tanous     Block,
15853c0dc5SEd Tanous };
16853c0dc5SEd Tanous 
17a8d8f9d8SEd Tanous enum class MediaLocation{
18a8d8f9d8SEd Tanous     Invalid,
19a8d8f9d8SEd Tanous     Local,
20a8d8f9d8SEd Tanous     Remote,
21a8d8f9d8SEd Tanous     Mixed,
22a8d8f9d8SEd Tanous };
23a8d8f9d8SEd Tanous 
24a8d8f9d8SEd Tanous enum class OperationalState{
25a8d8f9d8SEd Tanous     Invalid,
26a8d8f9d8SEd Tanous     Online,
27a8d8f9d8SEd Tanous     Offline,
28a8d8f9d8SEd Tanous };
29a8d8f9d8SEd Tanous 
30853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AddressRangeType, {
31853c0dc5SEd Tanous     {AddressRangeType::Invalid, "Invalid"},
32853c0dc5SEd Tanous     {AddressRangeType::Volatile, "Volatile"},
33853c0dc5SEd Tanous     {AddressRangeType::PMEM, "PMEM"},
34853c0dc5SEd Tanous     {AddressRangeType::Block, "Block"},
35853c0dc5SEd Tanous });
36853c0dc5SEd Tanous 
37a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MediaLocation, {
38a8d8f9d8SEd Tanous     {MediaLocation::Invalid, "Invalid"},
39a8d8f9d8SEd Tanous     {MediaLocation::Local, "Local"},
40a8d8f9d8SEd Tanous     {MediaLocation::Remote, "Remote"},
41a8d8f9d8SEd Tanous     {MediaLocation::Mixed, "Mixed"},
42a8d8f9d8SEd Tanous });
43a8d8f9d8SEd Tanous 
44a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OperationalState, {
45a8d8f9d8SEd Tanous     {OperationalState::Invalid, "Invalid"},
46a8d8f9d8SEd Tanous     {OperationalState::Online, "Online"},
47a8d8f9d8SEd Tanous     {OperationalState::Offline, "Offline"},
48a8d8f9d8SEd Tanous });
49a8d8f9d8SEd Tanous 
50853c0dc5SEd Tanous }
51853c0dc5SEd Tanous // clang-format on
52