#include "bios_attribute.hpp" #include "bios_config.hpp" #include "common/utils.hpp" #include using namespace pldm::utils; namespace pldm { namespace responder { namespace bios { BIOSAttribute::BIOSAttribute(const Json& entry, DBusHandler* const dbusHandler) : name(entry.at("attribute_name")), readOnly(false), displayName(entry.at("display_name")), helpText(entry.at("help_text")), dbusHandler(dbusHandler) { try { readOnly = entry.at("read_only"); } catch (const std::exception&) { // No action required, readOnly is initialised to false } try { std::string objectPath = entry.at("dbus").at("object_path"); std::string interface = entry.at("dbus").at("interface"); std::string propertyName = entry.at("dbus").at("property_name"); std::string propertyType = entry.at("dbus").at("property_type"); dBusMap = {objectPath, interface, propertyName, propertyType}; } catch (const std::exception&) { // No action required, dBusMap will have no value } } std::optional BIOSAttribute::getDBusMap() { return dBusMap; } } // namespace bios } // namespace responder } // namespace pldm