use sdbusplus unpack syntax
Rather than defining a variable and then reading it from a message,
sdbusplus also supports directly unpack-ing from the message. Use
this syntax instead as it is more efficient and succinct.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I37b8d2921b175f4050623935c0f4bffc0e448c70
diff --git a/src/button_handler.cpp b/src/button_handler.cpp
index 99ce739..ab52c66 100644
--- a/src/button_handler.cpp
+++ b/src/button_handler.cpp
@@ -226,8 +226,9 @@
try
{
auto result = bus.call(method);
- std::map<std::string, std::vector<std::string>> objectData;
- result.read(objectData);
+ auto objectData =
+ result.unpack<std::map<std::string, std::vector<std::string>>>();
+
return objectData.begin()->first;
}
catch (const sdbusplus::exception_t& e)
@@ -252,8 +253,7 @@
method.append(hostSelectorIface, "Position");
auto result = bus.call(method);
- std::variant<size_t> HSPositionVariant;
- result.read(HSPositionVariant);
+ auto HSPositionVariant = result.unpack<std::variant<size_t>>();
auto position = std::get<size_t>(HSPositionVariant);
return position;
@@ -273,8 +273,7 @@
method.append(hostIface, "CurrentHostState");
auto result = bus.call(method);
- std::variant<std::string> state;
- result.read(state);
+ auto state = result.unpack<std::variant<std::string>>();
return Host::HostState::Off !=
Host::convertHostStateFromString(std::get<std::string>(state));
@@ -415,8 +414,7 @@
{
try
{
- uint64_t time;
- msg.read(time);
+ auto time = msg.unpack<uint64_t>();
handlePowerEvent(PowerEvent::powerReleased, msg.get_path(),
std::chrono::microseconds(time));
@@ -464,8 +462,7 @@
method.append(ledGroupIface, "Asserted");
auto result = bus.call(method);
- std::variant<bool> state;
- result.read(state);
+ auto state = result.unpack<std::variant<bool>>();
state = !std::get<bool>(state);
@@ -503,8 +500,8 @@
phosphor::button::propertyIface, "GetAll");
method.append(phosphor::button::hostSelectorIface);
auto result = bus.call(method);
- std::unordered_map<std::string, std::variant<size_t>> properties;
- result.read(properties);
+ auto properties = result.unpack<
+ std::unordered_map<std::string, std::variant<size_t>>>();
auto maxPosition = std::get<size_t>(properties.at("MaxPosition"));
auto position = std::get<size_t>(properties.at("Position"));
diff --git a/src/host_then_chassis_poweroff.cpp b/src/host_then_chassis_poweroff.cpp
index 4489364..54431c4 100644
--- a/src/host_then_chassis_poweroff.cpp
+++ b/src/host_then_chassis_poweroff.cpp
@@ -193,8 +193,7 @@
method.append(interface::chassisState, "CurrentPowerState");
auto result = bus.call(method);
- std::variant<std::string> state;
- result.read(state);
+ auto state = result.unpack<std::variant<std::string>>();
chassisState =
Chassis::convertPowerStateFromString(std::get<std::string>(state));
@@ -220,8 +219,7 @@
method.append(interface::bmcState, "CurrentBMCState");
auto result = bus.call(method);
- std::variant<std::string> state;
- result.read(state);
+ auto state = result.unpack<std::variant<std::string>>();
bmcState = BMC::convertBMCStateFromString(std::get<std::string>(state));
}