Reduce multiple oem_ibm entry points in pldmd
Abstract the custom method of `OEM-IBM` into the oem-ibm.hpp file
to prevent the continuous increase of custom code and reduce multiple
`OEM-IBM` entry points in pldmd.
Tested: enabled oem-ibm and built pldm successfully.
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Ieddb8d12281553e70bdb1c333bd29425c9d14fb0
diff --git a/host-bmc/host_pdr_handler.cpp b/host-bmc/host_pdr_handler.cpp
index 2f65dd6..868e82d 100644
--- a/host-bmc/host_pdr_handler.cpp
+++ b/host-bmc/host_pdr_handler.cpp
@@ -90,13 +90,11 @@
const std::string& eventsJsonsDir, pldm_entity_association_tree* entityTree,
pldm_entity_association_tree* bmcEntityTree,
pldm::InstanceIdDb& instanceIdDb,
- pldm::requester::Handler<pldm::requester::Request>* handler,
- pldm::responder::oem_platform::Handler* oemPlatformHandler) :
+ pldm::requester::Handler<pldm::requester::Request>* handler) :
mctp_fd(mctp_fd),
mctp_eid(mctp_eid), event(event), repo(repo),
stateSensorHandler(eventsJsonsDir), entityTree(entityTree),
bmcEntityTree(bmcEntityTree), instanceIdDb(instanceIdDb), handler(handler),
- oemPlatformHandler(oemPlatformHandler),
entityMaps(parseEntityMap(ENTITY_MAP_JSON))
{
mergedHostParents = false;
diff --git a/host-bmc/host_pdr_handler.hpp b/host-bmc/host_pdr_handler.hpp
index 0755a25..bc08c2d 100644
--- a/host-bmc/host_pdr_handler.hpp
+++ b/host-bmc/host_pdr_handler.hpp
@@ -95,8 +95,7 @@
pldm_entity_association_tree* entityTree,
pldm_entity_association_tree* bmcEntityTree,
pldm::InstanceIdDb& instanceIdDb,
- pldm::requester::Handler<pldm::requester::Request>* handler,
- pldm::responder::oem_platform::Handler* oemPlatformHandler);
+ pldm::requester::Handler<pldm::requester::Request>* handler);
/** @brief fetch PDRs from host firmware. See @class.
* @param[in] recordHandles - list of record handles pointing to host's
@@ -171,6 +170,16 @@
*/
bool isHostUp();
+ /* @brief Method to set the oem platform handler in host pdr handler class
+ *
+ * @param[in] handler - oem platform handler
+ */
+ inline void
+ setOemPlatformHandler(pldm::responder::oem_platform::Handler* handler)
+ {
+ oemPlatformHandler = handler;
+ }
+
/** @brief map that captures various terminus information **/
TLPDRMap tlPDRInfo;
@@ -326,7 +335,7 @@
std::vector<responder::pdr_utils::FruRecordDataFormat> fruRecordData;
/** @OEM platform handler */
- pldm::responder::oem_platform::Handler* oemPlatformHandler;
+ pldm::responder::oem_platform::Handler* oemPlatformHandler = nullptr;
/** @brief entityID and entity name is only loaded once
*/