blob: ebc7cf64d70ce9dcf3c8d9d3f7c569abaa919648 [file] [log] [blame]
Ed Tanousf175c282024-12-02 15:12:50 -08001/****************************************************************
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
30namespace redfish
31{
32
33namespace messages
34{
35
36static 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 */
56nlohmann::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 */
69nlohmann::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 */
82nlohmann::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 */
95nlohmann::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 */
108nlohmann::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 */
121nlohmann::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 */
134nlohmann::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 */
147nlohmann::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 */
160nlohmann::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