diff options
author | William A. Kennington III <wak@google.com> | 2018-10-12 17:18:14 -0700 |
---|---|---|
committer | William A. Kennington III <wak@google.com> | 2018-10-18 15:08:55 -0700 |
commit | 4c0080287f2bb19ecfbe5cdd4a334f8769e7d0cd (patch) | |
tree | f2edadbb00b55c212c280c90f0cb35d96702bf4e /apphandler.cpp | |
parent | 1181af741589db873676f177ed85d6bc04884aa1 (diff) | |
download | phosphor-host-ipmid-4c0080287f2bb19ecfbe5cdd4a334f8769e7d0cd.tar.gz phosphor-host-ipmid-4c0080287f2bb19ecfbe5cdd4a334f8769e7d0cd.zip |
Convert variant usage to std interface
This is just a refactoring to use the c++17 std::variant interfaces
instead of the mapbox::variant specific ones. We should be able to use
mapbox::variant and std::variant interchangeably now.
Tested:
Built against sdbusplus with mapbox::variant and sbusplus using
std::variant. Both variant compile and test out.
Change-Id: I6fbaad3d12dd34968db6a10f3d74a65e07d0f0cc
Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'apphandler.cpp')
-rw-r--r-- | apphandler.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/apphandler.cpp b/apphandler.cpp index 8c7df7c..fd58218 100644 --- a/apphandler.cpp +++ b/apphandler.cpp @@ -23,6 +23,7 @@ #include <nlohmann/json.hpp> #include <phosphor-logging/elog-errors.hpp> #include <phosphor-logging/log.hpp> +#include <sdbusplus/message/types.hpp> #include <string> #include <tuple> #include <vector> @@ -69,6 +70,7 @@ using Activation = sdbusplus::xyz::openbmc_project::Software::server::Activation; using BMC = sdbusplus::xyz::openbmc_project::State::server::BMC; namespace fs = std::filesystem; +namespace variant_ns = sdbusplus::message::variant_ns; // Offset in get device id command. typedef struct @@ -123,12 +125,14 @@ std::string getActiveSoftwareVersionInfo() auto& redundancyPriorityProps = intfMap.at(redundancyIntf); auto& versionProps = intfMap.at(versionIntf); auto& activationProps = intfMap.at(activationIntf); - auto priority = - redundancyPriorityProps.at("Priority").get<uint8_t>(); - auto purpose = versionProps.at("Purpose").get<std::string>(); - auto activation = - activationProps.at("Activation").get<std::string>(); - auto version = versionProps.at("Version").get<std::string>(); + auto priority = variant_ns::get<uint8_t>( + redundancyPriorityProps.at("Priority")); + auto purpose = + variant_ns::get<std::string>(versionProps.at("Purpose")); + auto activation = variant_ns::get<std::string>( + activationProps.at("Activation")); + auto version = + variant_ns::get<std::string>(versionProps.at("Version")); if ((Version::convertVersionPurposeFromString(purpose) == Version::VersionPurpose::BMC) && (Activation::convertActivationsFromString(activation) == @@ -169,9 +173,9 @@ bool getCurrentBmcState() ipmi::getDbusProperty(bus, bmcObject.second, bmcObject.first, bmc_state_interface, bmc_state_property); - return variant.is<std::string>() && - BMC::convertBMCStateFromString(variant.get<std::string>()) == - BMC::BMCState::Ready; + return variant_ns::holds_alternative<std::string>(variant) && + BMC::convertBMCStateFromString( + variant_ns::get<std::string>(variant)) == BMC::BMCState::Ready; } ipmi_ret_t ipmi_app_set_acpi_power_state(ipmi_netfn_t netfn, ipmi_cmd_t cmd, @@ -598,7 +602,7 @@ ipmi_ret_t ipmi_app_get_sys_guid(ipmi_netfn_t netfn, ipmi_cmd_t cmd, auto variant = ipmi::getDbusProperty(bus, bmcObject.second, bmcObject.first, bmc_guid_interface, bmc_guid_property); - std::string guidProp = variant.get<std::string>(); + std::string guidProp = variant_ns::get<std::string>(variant); // Erase "-" characters from the property value guidProp.erase(std::remove(guidProp.begin(), guidProp.end(), '-'), |