1 /****************************************************************
2 * READ THIS WARNING FIRST
3 * This is an auto-generated header which contains definitions
4 * for Redfish DMTF defined messages.
5 * DO NOT modify this registry outside of running the
6 * parse_registries.py script. The definitions contained within
7 * this file are owned by DMTF. Any modifications to these files
8 * should be first pushed to the relevant registry in the DMTF
9 * github organization.
10 ***************************************************************/
11 #include "task_messages.hpp"
12
13 #include "registries.hpp"
14 #include "registries/task_event_message_registry.hpp"
15
16 #include <nlohmann/json.hpp>
17
18 #include <array>
19 #include <cstddef>
20 #include <cstdint>
21 #include <span>
22 #include <string>
23 #include <string_view>
24
25 // Clang can't seem to decide whether this header needs to be included or not,
26 // and is inconsistent. Include it for now
27 // NOLINTNEXTLINE(misc-include-cleaner)
28 #include <utility>
29
30 namespace redfish
31 {
32
33 namespace messages
34 {
35
getLog(redfish::registries::task_event::Index name,std::span<const std::string_view> args)36 static nlohmann::json getLog(redfish::registries::task_event::Index name,
37 std::span<const std::string_view> args)
38 {
39 size_t index = static_cast<size_t>(name);
40 if (index >= redfish::registries::task_event::registry.size())
41 {
42 return {};
43 }
44 return getLogFromRegistry(redfish::registries::task_event::header,
45 redfish::registries::task_event::registry, index,
46 args);
47 }
48
49 /**
50 * @internal
51 * @brief Formats TaskStarted message into JSON
52 *
53 * See header file for more information
54 * @endinternal
55 */
taskStarted(std::string_view arg1)56 nlohmann::json taskStarted(std::string_view arg1)
57 {
58 return getLog(redfish::registries::task_event::Index::taskStarted,
59 std::to_array({arg1}));
60 }
61
62 /**
63 * @internal
64 * @brief Formats TaskCompletedOK message into JSON
65 *
66 * See header file for more information
67 * @endinternal
68 */
taskCompletedOK(std::string_view arg1)69 nlohmann::json taskCompletedOK(std::string_view arg1)
70 {
71 return getLog(redfish::registries::task_event::Index::taskCompletedOK,
72 std::to_array({arg1}));
73 }
74
75 /**
76 * @internal
77 * @brief Formats TaskCompletedWarning message into JSON
78 *
79 * See header file for more information
80 * @endinternal
81 */
taskCompletedWarning(std::string_view arg1)82 nlohmann::json taskCompletedWarning(std::string_view arg1)
83 {
84 return getLog(redfish::registries::task_event::Index::taskCompletedWarning,
85 std::to_array({arg1}));
86 }
87
88 /**
89 * @internal
90 * @brief Formats TaskAborted message into JSON
91 *
92 * See header file for more information
93 * @endinternal
94 */
taskAborted(std::string_view arg1)95 nlohmann::json taskAborted(std::string_view arg1)
96 {
97 return getLog(redfish::registries::task_event::Index::taskAborted,
98 std::to_array({arg1}));
99 }
100
101 /**
102 * @internal
103 * @brief Formats TaskCancelled message into JSON
104 *
105 * See header file for more information
106 * @endinternal
107 */
taskCancelled(std::string_view arg1)108 nlohmann::json taskCancelled(std::string_view arg1)
109 {
110 return getLog(redfish::registries::task_event::Index::taskCancelled,
111 std::to_array({arg1}));
112 }
113
114 /**
115 * @internal
116 * @brief Formats TaskRemoved message into JSON
117 *
118 * See header file for more information
119 * @endinternal
120 */
taskRemoved(std::string_view arg1)121 nlohmann::json taskRemoved(std::string_view arg1)
122 {
123 return getLog(redfish::registries::task_event::Index::taskRemoved,
124 std::to_array({arg1}));
125 }
126
127 /**
128 * @internal
129 * @brief Formats TaskPaused message into JSON
130 *
131 * See header file for more information
132 * @endinternal
133 */
taskPaused(std::string_view arg1)134 nlohmann::json taskPaused(std::string_view arg1)
135 {
136 return getLog(redfish::registries::task_event::Index::taskPaused,
137 std::to_array({arg1}));
138 }
139
140 /**
141 * @internal
142 * @brief Formats TaskResumed message into JSON
143 *
144 * See header file for more information
145 * @endinternal
146 */
taskResumed(std::string_view arg1)147 nlohmann::json taskResumed(std::string_view arg1)
148 {
149 return getLog(redfish::registries::task_event::Index::taskResumed,
150 std::to_array({arg1}));
151 }
152
153 /**
154 * @internal
155 * @brief Formats TaskProgressChanged message into JSON
156 *
157 * See header file for more information
158 * @endinternal
159 */
taskProgressChanged(std::string_view arg1,uint64_t arg2)160 nlohmann::json taskProgressChanged(std::string_view arg1, uint64_t arg2)
161 {
162 std::string arg2Str = std::to_string(arg2);
163 return getLog(redfish::registries::task_event::Index::taskProgressChanged,
164 std::to_array<std::string_view>({arg1, arg2Str}));
165 }
166
167 } // namespace messages
168 } // namespace redfish
169