platform-mc: Support register OEM CPER Event class(0xFA)

The CPER Event class (0x07) is only introduced in DMTF DSP0248 V1.3.0.
Before that spec version, Ampere SoC uses Ampere OEM CPER Event
class(0xFA) to report the CPER event to BMC. Update `platform-mc` code
to support registers the OEM CPER Event class.

Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
Change-Id: Iab2f1e1f7e711ce6072c180ac133a68cb20e40ba
diff --git a/platform-mc/manager.hpp b/platform-mc/manager.hpp
index 0cb0178..7def32b 100644
--- a/platform-mc/manager.hpp
+++ b/platform-mc/manager.hpp
@@ -181,6 +181,35 @@
     exec::task<int> pollForPlatformEvent(pldm_tid_t tid, uint16_t pollEventId,
                                          uint32_t pollDataTransferHandle);
 
+    /** @brief Handle Polled CPER event
+     *
+     *  @param[in] tid - tid where the event is from
+     *  @param[in] eventId - event Id
+     *  @param[in] eventData - event data
+     *  @param[in] eventDataSize - size of event data
+     *  @return PLDM completion code
+     */
+    int handlePolledCperEvent(pldm_tid_t tid, uint16_t eventId,
+                              const uint8_t* eventData, size_t eventDataSize)
+    {
+        return eventManager.handlePlatformEvent(tid, eventId, PLDM_CPER_EVENT,
+                                                eventData, eventDataSize);
+    }
+
+    /** @brief The helper function to allow register the handler function for
+     *         the polled event by PollForPlatformEventMessage
+     *
+     *  @param[in] eventClass - Event class
+     *  @param[in] handlerFunc - Event handler
+     *
+     */
+    void registerPolledEventHandler(uint8_t eventClass,
+                                    pldm::platform_mc::HandlerFunc handlerFunc)
+    {
+        eventManager.registerPolledEventHandler(eventClass,
+                                                std::move(handlerFunc));
+    }
+
   private:
     /** @brief List of discovered termini */
     TerminiMapper termini{};