blob: edd88100e3c7d16455602143df1de9ea673faa1e [file] [log] [blame]
#pragma once
#include "common/utils.hpp"
#include "libpldmresponder/pdr_utils.hpp"
#include <cstdint>
namespace pldm
{
namespace responder
{
namespace pdr
{
/** @brief Build (if not built already) and retrieve PDR by the PDR types
*
* @param[in] dir - directory housing platform specific PDR JSON files
* @param[in] pdrType - the type of PDRs
*
* @return Repo - Instance of pdr::Repo
*/
void getRepoByType(const pldm::responder::pdr_utils::Repo& inRepo,
pldm::responder::pdr_utils::Repo& outRepo,
pldm::responder::pdr_utils::Type pdrType);
/** @brief Get the record of PDR by the record handle
*
* @param[in] pdrRepo - pdr::RepoInterface
* @param[in] recordHandle - The recordHandle value for the PDR to be
* retrieved.
* @param[out] pdrEntry - PDR entry structure reference
*
* @return pldm_pdr_record - Instance of pdr::RepoInterface
*/
const pldm_pdr_record*
getRecordByHandle(const pldm::responder::pdr_utils::RepoInterface& pdrRepo,
pldm::responder::pdr_utils::RecordHandle recordHandle,
pldm::responder::pdr_utils::PdrEntry& pdrEntry);
} // namespace pdr
} // namespace responder
} // namespace pldm