Generate task event

Generate the task event registry.

Tested: on last patch of series

Change-Id: I55b7914978f7a1d637cad6dfae398949af0a7107
Signed-off-by: Ed Tanous <etanous@nvidia.com>
diff --git a/redfish-core/include/task_messages.hpp b/redfish-core/include/task_messages.hpp
index ed16e09..36d4721 100644
--- a/redfish-core/include/task_messages.hpp
+++ b/redfish-core/include/task_messages.hpp
@@ -1,94 +1,49 @@
-/*
-Copyright (c) 2020 Intel Corporation
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
 #pragma once
-#include "registries/task_event_message_registry.hpp"
+/****************************************************************
+ *                 READ THIS WARNING FIRST
+ * This is an auto-generated header which contains definitions
+ * for Redfish DMTF defined messages.
+ * DO NOT modify this registry outside of running the
+ * parse_registries.py script.  The definitions contained within
+ * this file are owned by DMTF.  Any modifications to these files
+ * should be first pushed to the relevant registry in the DMTF
+ * github organization.
+ ***************************************************************/
 
+#include "http_response.hpp"
+
+#include <boost/url/url_view_base.hpp>
 #include <nlohmann/json.hpp>
 
-#include <array>
-namespace redfish::messages
+#include <cstdint>
+#include <source_location>
+#include <string>
+#include <string_view>
+
+// IWYU pragma: no_forward_declare crow::Response
+
+namespace redfish
 {
 
-inline nlohmann::json
-    getLogTaskEvent(redfish::registries::task_event::Index name,
-                    std::span<const std::string_view> args)
+namespace messages
 {
-    size_t index = static_cast<size_t>(name);
-    if (index >= redfish::registries::task_event::registry.size())
-    {
-        return {};
-    }
-    return getLogFromRegistry(redfish::registries::task_event::header,
-                              redfish::registries::task_event::registry, index,
-                              args);
-}
+nlohmann::json taskStarted(std::string_view arg1);
 
-inline nlohmann::json taskAborted(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskAborted,
-                           std::to_array({arg1}));
-}
+nlohmann::json taskCompletedOK(std::string_view arg1);
 
-inline nlohmann::json taskCancelled(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskCancelled,
-                           std::to_array({arg1}));
-}
+nlohmann::json taskCompletedWarning(std::string_view arg1);
 
-inline nlohmann::json taskCompletedOK(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskCompletedOK,
-                           std::to_array({arg1}));
-}
+nlohmann::json taskAborted(std::string_view arg1);
 
-inline nlohmann::json taskCompletedWarning(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskCompletedWarning,
-                           std::to_array({arg1}));
-}
+nlohmann::json taskCancelled(std::string_view arg1);
 
-inline nlohmann::json taskPaused(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskPaused,
-                           std::to_array({arg1}));
-}
+nlohmann::json taskRemoved(std::string_view arg1);
 
-inline nlohmann::json taskProgressChanged(std::string_view arg1, size_t arg2)
-{
-    std::string arg2Str = std::to_string(arg2);
-    return getLogTaskEvent(registries::task_event::Index::taskProgressChanged,
-                           std::to_array<std::string_view>({arg1, arg2Str}));
-}
+nlohmann::json taskPaused(std::string_view arg1);
 
-inline nlohmann::json taskRemoved(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskRemoved,
-                           std::to_array({arg1}));
-}
+nlohmann::json taskResumed(std::string_view arg1);
 
-inline nlohmann::json taskResumed(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskResumed,
-                           std::to_array({arg1}));
-}
+nlohmann::json taskProgressChanged(std::string_view arg1, uint64_t arg2);
 
-inline nlohmann::json taskStarted(std::string_view arg1)
-{
-    return getLogTaskEvent(registries::task_event::Index::taskStarted,
-                           std::to_array({arg1}));
-}
-
-} // namespace redfish::messages
+} // namespace messages
+} // namespace redfish
diff --git a/redfish-core/src/task_messages.cpp b/redfish-core/src/task_messages.cpp
new file mode 100644
index 0000000..ebc7cf6
--- /dev/null
+++ b/redfish-core/src/task_messages.cpp
@@ -0,0 +1,168 @@
+/****************************************************************
+ *                 READ THIS WARNING FIRST
+ * This is an auto-generated header which contains definitions
+ * for Redfish DMTF defined messages.
+ * DO NOT modify this registry outside of running the
+ * parse_registries.py script.  The definitions contained within
+ * this file are owned by DMTF.  Any modifications to these files
+ * should be first pushed to the relevant registry in the DMTF
+ * github organization.
+ ***************************************************************/
+#include "task_messages.hpp"
+
+#include "registries.hpp"
+#include "registries/task_event_message_registry.hpp"
+
+#include <nlohmann/json.hpp>
+
+#include <array>
+#include <cstddef>
+#include <cstdint>
+#include <span>
+#include <string>
+#include <string_view>
+
+// Clang can't seem to decide whether this header needs to be included or not,
+// and is inconsistent.  Include it for now
+// NOLINTNEXTLINE(misc-include-cleaner)
+#include <utility>
+
+namespace redfish
+{
+
+namespace messages
+{
+
+static nlohmann::json getLog(redfish::registries::task_event::Index name,
+                             std::span<const std::string_view> args)
+{
+    size_t index = static_cast<size_t>(name);
+    if (index >= redfish::registries::task_event::registry.size())
+    {
+        return {};
+    }
+    return getLogFromRegistry(redfish::registries::task_event::header,
+                              redfish::registries::task_event::registry, index,
+                              args);
+}
+
+/**
+ * @internal
+ * @brief Formats TaskStarted message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskStarted(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskStarted,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskCompletedOK message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskCompletedOK(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskCompletedOK,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskCompletedWarning message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskCompletedWarning(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskCompletedWarning,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskAborted message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskAborted(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskAborted,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskCancelled message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskCancelled(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskCancelled,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskRemoved message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskRemoved(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskRemoved,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskPaused message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskPaused(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskPaused,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskResumed message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskResumed(std::string_view arg1)
+{
+    return getLog(redfish::registries::task_event::Index::taskResumed,
+                  std::to_array({arg1}));
+}
+
+/**
+ * @internal
+ * @brief Formats TaskProgressChanged message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json taskProgressChanged(std::string_view arg1, uint64_t arg2)
+{
+    std::string arg2Str = std::to_string(arg2);
+    return getLog(redfish::registries::task_event::Index::taskProgressChanged,
+                  std::to_array<std::string_view>({arg1, arg2Str}));
+}
+
+} // namespace messages
+} // namespace redfish