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: I23902026dee367a8cbf0c2725725c4ed3ca4d2bb
diff --git a/app/watchdog_service.cpp b/app/watchdog_service.cpp
index da06041..29f81c9 100644
--- a/app/watchdog_service.cpp
+++ b/app/watchdog_service.cpp
@@ -117,8 +117,8 @@
     try
     {
         auto response = bus.call(request);
-        std::variant<T> value;
-        response.read(value);
+        auto value = response.unpack<std::variant<T>>();
+
         return std::get<T>(value);
     }
     catch (const std::exception& e)
diff --git a/libipmid/utils.cpp b/libipmid/utils.cpp
index cc89844..02d6758 100644
--- a/libipmid/utils.cpp
+++ b/libipmid/utils.cpp
@@ -210,8 +210,9 @@
 
     auto mapperResponseMsg = bus.call(mapperCall);
 
-    std::map<std::string, std::vector<std::string>> mapperResponse;
-    mapperResponseMsg.read(mapperResponse);
+    auto mapperResponse =
+        mapperResponseMsg
+            .unpack<std::map<std::string, std::vector<std::string>>>();
 
     if (mapperResponse.begin() == mapperResponse.end())
     {
@@ -230,8 +231,7 @@
     mapperCall.append(subtreePath, depth, interfaces);
 
     auto mapperReply = bus.call(mapperCall);
-    ObjectTree objectTree;
-    mapperReply.read(objectTree);
+    auto objectTree = mapperReply.unpack<ObjectTree>();
 
     return objectTree;
 }
diff --git a/sensorhandler.cpp b/sensorhandler.cpp
index 7c4c5ab..cb6942f 100644
--- a/sensorhandler.cpp
+++ b/sensorhandler.cpp
@@ -179,10 +179,10 @@
                     try
                     {
                         // This is signal callback
-                        std::string interfaceName;
-                        msg.read(interfaceName);
-                        ipmi::PropertyMap props;
-                        msg.read(props);
+                        auto interfaceName = msg.unpack<std::string>();
+
+                        auto props = msg.unpack<ipmi::PropertyMap>();
+
                         s.second.getFunc(s.first, s.second, props);
                     }
                     catch (const std::exception& e)
diff --git a/transport/serialbridge/serialcmd.cpp b/transport/serialbridge/serialcmd.cpp
index c6426fb..94535e5 100644
--- a/transport/serialbridge/serialcmd.cpp
+++ b/transport/serialbridge/serialcmd.cpp
@@ -163,9 +163,8 @@
             throw sdbusplus::exception::SdBusError(&error, "ipmid response");
         }
 
-        std::tuple<uint8_t, uint8_t, uint8_t, uint8_t, std::vector<uint8_t>>
-            ret;
-        m.read(ret);
+        auto ret = m.unpack<std::tuple<uint8_t, uint8_t, uint8_t, uint8_t,
+                                       std::vector<uint8_t>>>();
 
         const auto& [netFn, lun, cmd, cc, data] = ret;
 
diff --git a/transporthandler.cpp b/transporthandler.cpp
index d99c754..7bcc696 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -560,8 +560,8 @@
                                    INTF_VLAN_CREATE, "VLAN");
     req.append(params.ifname, static_cast<uint32_t>(vlan));
     auto reply = bus.call(req);
-    sdbusplus::message::object_path newPath;
-    reply.read(newPath);
+    auto newPath = reply.unpack<sdbusplus::message::object_path>();
+
     params.logicalPath = std::move(newPath);
 }