dbus: dbuspassive refactor

Moved the sensor value handler into a sub routine to enable testing.

Tested: Ran on quanta-q71l board and it behaved as expected.

Change-Id: I4873558cfc1a48a92fb60cd173dc69e237813683
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/dbus/dbuspassive.cpp b/dbus/dbuspassive.cpp
index 25a0148..038fc5c 100644
--- a/dbus/dbuspassive.cpp
+++ b/dbus/dbuspassive.cpp
@@ -73,35 +73,34 @@
     return _id;
 }
 
-int DbusHandleSignal(sd_bus_message* msg, void* usrData, sd_bus_error* err)
+int HandleSensorValue(sdbusplus::message::message& msg, DbusPassive* owner)
 {
-    namespace sdm = sdbusplus::message;
-    auto sdbpMsg = sdm::message(msg);
-    DbusPassive* obj = static_cast<DbusPassive*>(usrData);
-
     std::string msgSensor;
-    std::map<std::string, sdm::variant<int64_t>> msgData;
-    sdbpMsg.read(msgSensor, msgData);
+    std::map<std::string, sdbusplus::message::variant<int64_t>> msgData;
+
+    msg.read(msgSensor, msgData);
 
     if (msgSensor == "xyz.openbmc_project.Sensor.Value")
     {
         auto valPropMap = msgData.find("Value");
         if (valPropMap != msgData.end())
         {
-            int64_t rawValue = sdm::variant_ns::get<int64_t>
-                               (valPropMap->second);
+            int64_t rawValue = sdbusplus::message::variant_ns::get<int64_t>(
+                valPropMap->second);
 
-            double value = rawValue * pow(10, obj->getScale());
+            double value = rawValue * std::pow(10, owner->getScale());
 
-#if 0
-            std::cerr << "received update: " << value
-                      << " for: " << obj->getId()
-                      << std::endl;
-#endif
-
-            obj->setValue(value);
+            owner->setValue(value);
         }
     }
 
     return 0;
 }
+
+int DbusHandleSignal(sd_bus_message* msg, void* usrData, sd_bus_error* err)
+{
+    auto sdbpMsg = sdbusplus::message::message(msg);
+    DbusPassive* obj = static_cast<DbusPassive*>(usrData);
+
+    return HandleSensorValue(sdbpMsg, obj);
+}