| #include "bios_attribute.hpp" |
| |
| #include "bios_config.hpp" |
| #include "common/utils.hpp" |
| |
| #include <variant> |
| |
| 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<DBusMapping> BIOSAttribute::getDBusMap() |
| { |
| return dBusMap; |
| } |
| |
| } // namespace bios |
| } // namespace responder |
| } // namespace pldm |