summaryrefslogtreecommitdiffstats
path: root/apphandler.cpp
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2018-10-12 17:18:14 -0700
committerWilliam A. Kennington III <wak@google.com>2018-10-18 15:08:55 -0700
commit4c0080287f2bb19ecfbe5cdd4a334f8769e7d0cd (patch)
treef2edadbb00b55c212c280c90f0cb35d96702bf4e /apphandler.cpp
parent1181af741589db873676f177ed85d6bc04884aa1 (diff)
downloadphosphor-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.cpp24
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(), '-'),
OpenPOWER on IntegriCloud