17d427f16SKamalkumar Patel #include "common/utils.hpp" 24e69d252SKamalkumar Patel #include "libpldmresponder/oem_handler.hpp" 34e69d252SKamalkumar Patel 4*41ca40dcSAndrew Jeffery #include <libpldm/pdr.h> 5*41ca40dcSAndrew Jeffery 64e69d252SKamalkumar Patel #include <nlohmann/json.hpp> 74e69d252SKamalkumar Patel #include <phosphor-logging/lg2.hpp> 84e69d252SKamalkumar Patel 94e69d252SKamalkumar Patel #include <filesystem> 104e69d252SKamalkumar Patel #include <fstream> 114e69d252SKamalkumar Patel #include <map> 124e69d252SKamalkumar Patel #include <string> 134e69d252SKamalkumar Patel #include <vector> 144e69d252SKamalkumar Patel 154e69d252SKamalkumar Patel PHOSPHOR_LOG2_USING; 167d427f16SKamalkumar Patel 174e69d252SKamalkumar Patel namespace pldm 184e69d252SKamalkumar Patel { 194e69d252SKamalkumar Patel namespace hostbmc 204e69d252SKamalkumar Patel { 214e69d252SKamalkumar Patel namespace utils 224e69d252SKamalkumar Patel { 234e69d252SKamalkumar Patel 244e69d252SKamalkumar Patel /** @brief Vector a entity name to pldm_entity from entity association tree 254e69d252SKamalkumar Patel * @param[in] entityAssoc - Vector of associated pldm entities 264e69d252SKamalkumar Patel * @param[in] entityTree - entity association tree 274e69d252SKamalkumar Patel * @param[out] objPathMap - maps an object path to pldm_entity from the 284e69d252SKamalkumar Patel * BMC's entity association tree 294e69d252SKamalkumar Patel * @return 304e69d252SKamalkumar Patel */ 3115ce5a18SKamalkumar Patel void updateEntityAssociation( 327d427f16SKamalkumar Patel const pldm::utils::EntityAssociations& entityAssoc, 337d427f16SKamalkumar Patel pldm_entity_association_tree* entityTree, 347d427f16SKamalkumar Patel pldm::utils::ObjectPathMaps& objPathMap, pldm::utils::EntityMaps entityMaps, 3515ce5a18SKamalkumar Patel pldm::responder::oem_platform::Handler* oemPlatformHandler); 36516122e0SKamalkumar Patel 37516122e0SKamalkumar Patel /** @brief Parsing entity to DBus string mapping from json file 38516122e0SKamalkumar Patel * 39516122e0SKamalkumar Patel * @param[in] filePath - JSON file path for parsing 40516122e0SKamalkumar Patel * 41516122e0SKamalkumar Patel * @return returns the entity to DBus string mapping object 42516122e0SKamalkumar Patel */ 437d427f16SKamalkumar Patel pldm::utils::EntityMaps parseEntityMap(const fs::path& filePath); 444e69d252SKamalkumar Patel 454e69d252SKamalkumar Patel } // namespace utils 464e69d252SKamalkumar Patel } // namespace hostbmc 474e69d252SKamalkumar Patel } // namespace pldm 48