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