1 #pragma once
2 #include <nlohmann/json.hpp>
3 
4 namespace secure_boot
5 {
6 // clang-format off
7 
8 enum class SecureBootCurrentBootType{
9     Invalid,
10     Enabled,
11     Disabled,
12 };
13 
14 enum class SecureBootModeType{
15     Invalid,
16     SetupMode,
17     UserMode,
18     AuditMode,
19     DeployedMode,
20 };
21 
22 enum class ResetKeysType{
23     Invalid,
24     ResetAllKeysToDefault,
25     DeleteAllKeys,
26     DeletePK,
27 };
28 
29 NLOHMANN_JSON_SERIALIZE_ENUM(SecureBootCurrentBootType, {
30     {SecureBootCurrentBootType::Invalid, "Invalid"},
31     {SecureBootCurrentBootType::Enabled, "Enabled"},
32     {SecureBootCurrentBootType::Disabled, "Disabled"},
33 });
34 
35 NLOHMANN_JSON_SERIALIZE_ENUM(SecureBootModeType, {
36     {SecureBootModeType::Invalid, "Invalid"},
37     {SecureBootModeType::SetupMode, "SetupMode"},
38     {SecureBootModeType::UserMode, "UserMode"},
39     {SecureBootModeType::AuditMode, "AuditMode"},
40     {SecureBootModeType::DeployedMode, "DeployedMode"},
41 });
42 
43 NLOHMANN_JSON_SERIALIZE_ENUM(ResetKeysType, {
44     {ResetKeysType::Invalid, "Invalid"},
45     {ResetKeysType::ResetAllKeysToDefault, "ResetAllKeysToDefault"},
46     {ResetKeysType::DeleteAllKeys, "DeleteAllKeys"},
47     {ResetKeysType::DeletePK, "DeletePK"},
48 });
49 
50 }
51 // clang-format on
52