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: I9e1c7447883c0d80b47951ecb661304b8e8e84da
diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
index b04bc2d..a6b37ef 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
@@ -601,8 +601,8 @@
try
{
auto reply = bus.get().call(method);
- std::variant<ServerList> response;
- reply.read(response);
+ auto response = reply.unpack<std::variant<ServerList>>();
+
servers = std::get<ServerList>(response);
}
catch (const sdbusplus::exception::SdBusError& e)
diff --git a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
index a3fe9c8..d3d7983 100644
--- a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
+++ b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
@@ -115,8 +115,7 @@
}
}();
- ObjectTree objectTree;
- mapperReply.read(objectTree);
+ auto objectTree = mapperReply.unpack<ObjectTree>();
if (objectTree.empty())
{
@@ -157,8 +156,8 @@
}
}
- std::variant<BiosBaseTableType> response;
- getDBusProp(objPath, biosMgrIntf, "BaseBIOSTable").read(response);
+ auto response = getDBusProp(objPath, biosMgrIntf, "BaseBIOSTable")
+ .unpack<std::variant<BiosBaseTableType>>();
const BiosBaseTableType* baseBiosTable =
std::get_if<BiosBaseTableType>(&response);
diff --git a/src/inventory_mac.cpp b/src/inventory_mac.cpp
index 67e8dff..fb15e67 100644
--- a/src/inventory_mac.cpp
+++ b/src/inventory_mac.cpp
@@ -103,8 +103,7 @@
}
}();
- ObjectTree objectTree;
- mapperReply.read(objectTree);
+ auto objectTree = mapperReply.unpack<ObjectTree>();
if (objectTree.empty())
{
@@ -164,8 +163,8 @@
}
}();
- std::variant<std::string> value;
- reply.read(value);
+ auto value = reply.unpack<std::variant<std::string>>();
+
return stdplus::fromStr<stdplus::EtherAddr>(std::get<std::string>(value));
}
diff --git a/src/network_manager.cpp b/src/network_manager.cpp
index 75c759b..5991611 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
@@ -154,8 +154,8 @@
"org.freedesktop.DBus.Properties", "Get");
req.append("org.freedesktop.network1.Link", "AdministrativeState");
auto rsp = req.call();
- std::variant<std::string> val;
- rsp.read(val);
+ auto val = rsp.unpack<std::variant<std::string>>();
+
handleAdminState(std::get<std::string>(val), ifidx);
}