1 #pragma once 2 3 #include "common/utils.hpp" 4 #include "libpldmresponder/pdr_utils.hpp" 5 6 #include <stdint.h> 7 8 using namespace pldm::responder::pdr_utils; 9 10 namespace pldm 11 { 12 13 namespace responder 14 { 15 16 namespace pdr 17 { 18 19 /** @brief Build (if not built already) and retrieve PDR by the PDR types 20 * 21 * @param[in] dir - directory housing platform specific PDR JSON files 22 * @param[in] pdrType - the type of PDRs 23 * 24 * @return Repo - Instance of pdr::Repo 25 */ 26 void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType); 27 28 /** @brief Get the record of PDR by the record handle 29 * 30 * @param[in] pdrRepo - pdr::RepoInterface 31 * @param[in] recordHandle - The recordHandle value for the PDR to be 32 * retrieved. 33 * @param[out] pdrEntry - PDR entry structure reference 34 * 35 * @return pldm_pdr_record - Instance of pdr::RepoInterface 36 */ 37 const pldm_pdr_record* getRecordByHandle(const RepoInterface& pdrRepo, 38 RecordHandle recordHandle, 39 PdrEntry& pdrEntry); 40 41 } // namespace pdr 42 } // namespace responder 43 } // namespace pldm 44