manager: use new Logging.Cleared event

Modify the internal manager support for creating internal events
to be able to support the sdbusplus generated events.  Transition
from the local Logging.Error.LogsCleared to the global Logging.Cleared
event.  Clean up references to the old event.

Tested:
```
$ busctl --user call xyz.openbmc_project.Logging /xyz/openbmc_project/logging xyz.openbmc_project.Collection.DeleteAll DeleteAll
$ busctl --user introspect xyz.openbmc_project.Logging /xyz/openbmc_project/logging/entry/1 -l | cat
NAME                                        TYPE      SIGNATURE RESULT/VALUE                                                                                                                                             FLAGS
xyz.openbmc_project.Logging.Entry           interface -         -                                                                                                                                                        -
.GetEntry                                   method    -         h                                                                                                                                                        -
.AdditionalData                             property  as        5 "NUMBER_OF_LOGS=210" "_CODE_FILE=../log_manager.hpp" "_CODE_FUNC=virtual void phosphor::logging::Manager::deleteAll()" "_CODE_LINE=361" "_PID=3318436" emits-change writable
.EventId                                    property  s         ""                                                                                                                                                       emits-change writable
.Id                                         property  u         1                                                                                                                                                        emits-change writable
.Message                                    property  s         "xyz.openbmc_project.Logging.Cleared"                                                                                                                    emits-change writable
.Resolution                                 property  s         ""                                                                                                                                                       emits-change writable
.Resolved                                   property  b         false                                                                                                                                                    emits-change writable
.ServiceProviderNotify                      property  s         "xyz.openbmc_project.Logging.Entry.Notify.NotSupported"                                                                                                  emits-change writable
.Severity                                   property  s         "xyz.openbmc_project.Logging.Entry.Level.Informational"                                                                                                  emits-change writable
.Timestamp                                  property  t         1730408674348                                                                                                                                            emits-change writable
.UpdateTimestamp                            property  t         1730408674348                                                                                                                                            emits-change writable
```

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I470f33ae2f5bfae6bf6d6a80ac2c5f028e41da95
diff --git a/extensions/openpower-pels/registry/message_registry.json b/extensions/openpower-pels/registry/message_registry.json
index bd79c2e..cbcb8d2 100644
--- a/extensions/openpower-pels/registry/message_registry.json
+++ b/extensions/openpower-pels/registry/message_registry.json
@@ -552,7 +552,7 @@
         },
 
         {
-            "Name": "xyz.openbmc_project.Logging.Error.LogsCleared",
+            "Name": "xyz.openbmc_project.Logging.Cleared",
             "Subsystem": "bmc_firmware",
             "Severity": "non_error",
 
@@ -561,7 +561,7 @@
                 "Words6To9": {
                     "6": {
                         "Description": "Number of logs deleted",
-                        "AdditionalDataPropSource": "NUM_LOGS"
+                        "AdditionalDataPropSource": "NUMBER_OF_LOGS"
                     }
                 }
             },
diff --git a/gen/xyz/openbmc_project/Logging/meson.build b/gen/xyz/openbmc_project/Logging/meson.build
index c27f679..6421d35 100644
--- a/gen/xyz/openbmc_project/Logging/meson.build
+++ b/gen/xyz/openbmc_project/Logging/meson.build
@@ -1,16 +1,2 @@
 # Generated file; do not modify.
-generated_sources += custom_target(
-    'xyz/openbmc_project/Logging__cpp'.underscorify(),
-    input: [ '../../../../yaml/xyz/openbmc_project/Logging.errors.yaml',  ],
-    output: [ 'error.cpp', 'error.hpp',  ],
-    depend_files: sdbusplusplus_depfiles,
-    command: [
-        sdbuspp_gen_meson_prog, '--command', 'cpp',
-        '--output', meson.current_build_dir(),
-        '--tool', sdbusplusplus_prog,
-        '--directory', meson.current_source_dir() / '../../../../yaml',
-        'xyz/openbmc_project/Logging',
-    ],
-)
-
 subdir('Internal')
diff --git a/gen/xyz/openbmc_project/meson.build b/gen/xyz/openbmc_project/meson.build
index 1e56539..1b45c9d 100644
--- a/gen/xyz/openbmc_project/meson.build
+++ b/gen/xyz/openbmc_project/meson.build
@@ -1,16 +1,2 @@
 # Generated file; do not modify.
 subdir('Logging')
-generated_others += custom_target(
-    'xyz/openbmc_project/Logging__markdown'.underscorify(),
-    input: [ '../../../yaml/xyz/openbmc_project/Logging.errors.yaml',  ],
-    output: [ 'Logging.md' ],
-    depend_files: sdbusplusplus_depfiles,
-    command: [
-        sdbuspp_gen_meson_prog, '--command', 'markdown',
-        '--output', meson.current_build_dir(),
-        '--tool', sdbusplusplus_prog,
-        '--directory', meson.current_source_dir() / '../../../yaml',
-        'xyz/openbmc_project/Logging',
-    ],
-)
-
diff --git a/lib/lg2_commit.cpp b/lib/lg2_commit.cpp
index 4d75594..6f11a4c 100644
--- a/lib/lg2_commit.cpp
+++ b/lib/lg2_commit.cpp
@@ -1,3 +1,5 @@
+#include "lg2_commit.hpp"
+
 #include <sys/syslog.h>
 
 #include <nlohmann/json.hpp>
@@ -117,4 +119,19 @@
                 data_from_json(t));
 }
 
+auto extractEvent(sdbusplus::exception::generated_event_base&& t)
+    -> std::tuple<std::string, Entry::Level, std::vector<std::string>>
+{
+    auto data = data_from_json(t);
+    std::vector<std::string> additional_data = {};
+
+    for (auto& [key, data] : data)
+    {
+        additional_data.emplace_back(key + "=" + data);
+    }
+
+    return {t.name(), severity_from_syslog(t.severity()),
+            std::move(additional_data)};
+}
+
 } // namespace lg2::details
diff --git a/lib/lg2_commit.hpp b/lib/lg2_commit.hpp
new file mode 100644
index 0000000..db6bab0
--- /dev/null
+++ b/lib/lg2_commit.hpp
@@ -0,0 +1,22 @@
+#pragma once
+#include <sdbusplus/exception.hpp>
+#include <xyz/openbmc_project/Logging/Entry/client.hpp>
+
+#include <string>
+#include <tuple>
+#include <vector>
+
+namespace lg2::details
+{
+
+using Entry = sdbusplus::client::xyz::openbmc_project::logging::Entry<>;
+
+/** Extract the message, level, and additional data from agenerated event.
+ *
+ *  @param[in] The event to extract data from.
+ *  @return A tuple containing the message, level, and additional data.
+ */
+auto extractEvent(sdbusplus::exception::generated_event_base&&)
+    -> std::tuple<std::string, Entry::Level, std::vector<std::string>>;
+
+} // namespace lg2::details
diff --git a/log_manager.cpp b/log_manager.cpp
index 1b0cf3f..de3509d 100644
--- a/log_manager.cpp
+++ b/log_manager.cpp
@@ -6,6 +6,7 @@
 #include "elog_meta.hpp"
 #include "elog_serialize.hpp"
 #include "extensions.hpp"
+#include "lib/lg2_commit.hpp"
 #include "paths.hpp"
 #include "util.hpp"
 
@@ -259,6 +260,13 @@
     return objPath;
 }
 
+auto Manager::createFromEvent(sdbusplus::exception::generated_event_base&&
+                                  event) -> sdbusplus::message::object_path
+{
+    auto [msg, level, data] = lg2::details::extractEvent(std::move(event));
+    return this->createEntry(msg, level, std::move(data));
+}
+
 bool Manager::isQuiesceOnErrorEnabled()
 {
     // When running under tests, the Logging.Settings service will not be
diff --git a/log_manager.hpp b/log_manager.hpp
index cd5ae1d..2535832 100644
--- a/log_manager.hpp
+++ b/log_manager.hpp
@@ -2,14 +2,14 @@
 
 #include "elog_block.hpp"
 #include "elog_entry.hpp"
-#include "xyz/openbmc_project/Collection/DeleteAll/server.hpp"
-#include "xyz/openbmc_project/Logging/Create/server.hpp"
-#include "xyz/openbmc_project/Logging/Entry/server.hpp"
 #include "xyz/openbmc_project/Logging/Internal/Manager/server.hpp"
-#include "xyz/openbmc_project/Logging/error.hpp"
 
 #include <phosphor-logging/log.hpp>
 #include <sdbusplus/bus.hpp>
+#include <xyz/openbmc_project/Collection/DeleteAll/server.hpp>
+#include <xyz/openbmc_project/Logging/Create/server.hpp>
+#include <xyz/openbmc_project/Logging/Entry/server.hpp>
+#include <xyz/openbmc_project/Logging/event.hpp>
 
 #include <list>
 
@@ -26,8 +26,7 @@
     sdbusplus::server::xyz::openbmc_project::collection::DeleteAll;
 
 using Severity = sdbusplus::xyz::openbmc_project::Logging::server::Entry::Level;
-using LogsCleared =
-    sdbusplus::xyz::openbmc_project::Logging::Error::LogsCleared;
+using LoggingCleared = sdbusplus::event::xyz::openbmc_project::Logging::Cleared;
 
 namespace details
 {
@@ -187,6 +186,13 @@
                 const FFDCEntries& ffdc = FFDCEntries{})
         -> sdbusplus::message::object_path;
 
+    /** @brief Create an internal event log from the sdbusplus generated event
+     *
+     *  @param[in] event - The event to create.
+     */
+    auto createFromEvent(sdbusplus::exception::generated_event_base&& event)
+        -> sdbusplus::message::object_path;
+
     /** @brief Common wrapper for creating an Entry object
      *
      * @return true if quiesce on error setting is enabled, false otherwise
@@ -351,10 +357,8 @@
     {
         log<level::INFO>("Deleting all log entries");
         auto numbersOfLogs = manager.eraseAll();
-        std::map<std::string, std::string> additionalData;
-        additionalData.emplace("NUM_LOGS", std::to_string(numbersOfLogs));
-        manager.create(LogsCleared::errName, Severity::Informational,
-                       additionalData);
+        manager.createFromEvent(
+            LoggingCleared("NUMBER_OF_LOGS", numbersOfLogs));
     }
 
     /** @brief D-Bus method call implementation to create an event log.
diff --git a/yaml/xyz/openbmc_project/Logging.errors.yaml b/yaml/xyz/openbmc_project/Logging.errors.yaml
deleted file mode 100644
index e90bc7c..0000000
--- a/yaml/xyz/openbmc_project/Logging.errors.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# xyz.openbmc_project.Logging.Error
-- name: LogsCleared
-  description: Indicate the user cleared all the logs
diff --git a/yaml/xyz/openbmc_project/Logging.metadata.yaml b/yaml/xyz/openbmc_project/Logging.metadata.yaml
deleted file mode 100644
index 99d647a..0000000
--- a/yaml/xyz/openbmc_project/Logging.metadata.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
-- name: LogsCleared
-  level: INFO
-  meta:
-      - str: "NUM_LOGS=%u"
-        type: size_t