1 #pragma once 2 3 #include "libpldmresponder/platform.hpp" 4 #include "oem/meta/event/oem_event_manager.hpp" 5 #include "oem/meta/libpldmresponder/file_io.hpp" 6 #include "pldmd/invoker.hpp" 7 8 namespace pldm::oem_meta 9 { 10 11 /** 12 * @class OemMETA 13 * 14 * @brief class for creating all the OEM META handlers. Only in case 15 * of OEM_META this class object will be instantiated 16 */ 17 18 class OemMETA 19 { 20 public: 21 OemMETA() = delete; 22 OemMETA(const OemMETA&) = delete; 23 OemMETA& operator=(const OemMETA&) = delete; 24 OemMETA(OemMETA&&) = delete; 25 OemMETA& operator=(OemMETA&&) = delete; 26 27 public: 28 /** @brief Constucts OemMETA object 29 * @param[in] dBusIntf - D-Bus handler 30 * @param[in] invoker - invoker handler 31 * @param[in] platformHandler - platformHandler handler 32 */ 33 explicit OemMETA(const pldm::utils::DBusHandler* dbusHandler, 34 pldm::responder::Invoker& invoker, 35 pldm::responder::platform::Handler* platformHandler); 36 37 private: 38 void registerOemEventHandler( 39 pldm::responder::platform::Handler* platformHandler); 40 41 void registerOemHandler( 42 pldm::responder::Invoker& invoker, 43 std::unique_ptr<pldm::responder::oem_meta::FileIOHandler> 44 fileIOHandler); 45 46 std::unique_ptr<oem_meta::OemEventManager> oemEventManager{}; 47 }; 48 49 } // namespace pldm::oem_meta 50