summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/virtual_media.hpp
blob: 7ca57d06963e5d3312603e94a87d6c74583f2f06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>

namespace virtual_media
{
// clang-format off

enum class MediaType{
    Invalid,
    CD,
    Floppy,
    USBStick,
    DVD,
};

enum class ConnectedVia{
    Invalid,
    NotConnected,
    URI,
    Applet,
    Oem,
};

enum class TransferProtocolType{
    Invalid,
    CIFS,
    FTP,
    SFTP,
    HTTP,
    HTTPS,
    NFS,
    SCP,
    TFTP,
    OEM,
};

enum class TransferMethod{
    Invalid,
    Stream,
    Upload,
};

enum class EjectPolicy{
    Invalid,
    OnPowerOff,
    Session,
    Timed,
    AfterUse,
    Persistent,
};

NLOHMANN_JSON_SERIALIZE_ENUM(MediaType, {
    {MediaType::Invalid, "Invalid"},
    {MediaType::CD, "CD"},
    {MediaType::Floppy, "Floppy"},
    {MediaType::USBStick, "USBStick"},
    {MediaType::DVD, "DVD"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(ConnectedVia, {
    {ConnectedVia::Invalid, "Invalid"},
    {ConnectedVia::NotConnected, "NotConnected"},
    {ConnectedVia::URI, "URI"},
    {ConnectedVia::Applet, "Applet"},
    {ConnectedVia::Oem, "Oem"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(TransferProtocolType, {
    {TransferProtocolType::Invalid, "Invalid"},
    {TransferProtocolType::CIFS, "CIFS"},
    {TransferProtocolType::FTP, "FTP"},
    {TransferProtocolType::SFTP, "SFTP"},
    {TransferProtocolType::HTTP, "HTTP"},
    {TransferProtocolType::HTTPS, "HTTPS"},
    {TransferProtocolType::NFS, "NFS"},
    {TransferProtocolType::SCP, "SCP"},
    {TransferProtocolType::TFTP, "TFTP"},
    {TransferProtocolType::OEM, "OEM"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(TransferMethod, {
    {TransferMethod::Invalid, "Invalid"},
    {TransferMethod::Stream, "Stream"},
    {TransferMethod::Upload, "Upload"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(EjectPolicy, {
    {EjectPolicy::Invalid, "Invalid"},
    {EjectPolicy::OnPowerOff, "OnPowerOff"},
    {EjectPolicy::Session, "Session"},
    {EjectPolicy::Timed, "Timed"},
    {EjectPolicy::AfterUse, "AfterUse"},
    {EjectPolicy::Persistent, "Persistent"},
});

// clang-format on
} // namespace virtual_media