oem-meta: Add event manager
Add OEM Meta event manager for handling meta oem 0xFB event class.
Tested: Verified in yosemite4 platform, all events are handled
correctly.
Change-Id: Idcf4be755124c4a361d4eeb93cc494c36aff6d10
Signed-off-by: Lora Lin <lora.lin.wiwynn@gmail.com>
Signed-off-by: Kay YC Huang <kay.yc.huang.wiwynn@gmail.com>
Signed-off-by: Sora Su <baxiche@gmail.com>
diff --git a/oem/meta/oem_meta.cpp b/oem/meta/oem_meta.cpp
new file mode 100644
index 0000000..540b334
--- /dev/null
+++ b/oem/meta/oem_meta.cpp
@@ -0,0 +1,27 @@
+
+#include "oem_meta.hpp"
+
+#include <libpldm/base.h>
+
+namespace pldm::oem_meta
+{
+
+OemMETA::OemMETA(pldm::responder::platform::Handler* platformHandler)
+{
+ oemEventManager = std::make_unique<oem_meta::OemEventManager>();
+ registerOemEventHandler(platformHandler);
+}
+
+void OemMETA::registerOemEventHandler(
+ pldm::responder::platform::Handler* platformHandler)
+{
+ platformHandler->registerEventHandlers(
+ PLDM_OEM_EVENT_CLASS_0xFB,
+ {[this](const pldm_msg* request, size_t payloadLength,
+ uint8_t formatVersion, pldm_tid_t tid, size_t eventDataOffset) {
+ return this->oemEventManager->handleOemEvent(
+ request, payloadLength, formatVersion, tid, eventDataOffset);
+ }});
+}
+
+} // namespace pldm::oem_meta