Properties stored of different types

Allow properties stored for processing events to be of types other than
bool

Change-Id: Ie1dde5aca562c9958bdff6fa3d1b19d3154b2c6d
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/zone.cpp b/control/zone.cpp
index 7a61c77..a57174d 100644
--- a/control/zone.cpp
+++ b/control/zone.cpp
@@ -51,16 +51,16 @@
             {
                 try
                 {
-                    bool value = false;
+                    PropertyVariantType property;
                     getProperty(_bus,
                                 entry.first,
                                 std::get<intfPos>(entry.second),
                                 std::get<propPos>(entry.second),
-                                value);
+                                property);
                     setPropertyValue(entry.first.c_str(),
                                      std::get<intfPos>(entry.second).c_str(),
                                      std::get<propPos>(entry.second).c_str(),
-                                     value);
+                                     property);
                 }
                 catch (const std::exception& e)
                 {
@@ -119,14 +119,12 @@
     }
 }
 
-template <typename T>
 void Zone::getProperty(sdbusplus::bus::bus& bus,
                        const std::string& path,
                        const std::string& iface,
                        const std::string& prop,
-                       T& value)
+                       PropertyVariantType& value)
 {
-    sdbusplus::message::variant<T> property;
     auto serv = phosphor::fan::util::getService(path, iface, bus);
     auto hostCall = bus.new_method_call(serv.c_str(),
                                         path.c_str(),
@@ -140,8 +138,7 @@
         throw std::runtime_error(
             "Error in host call response for retrieving property");
     }
-    hostResponseMsg.read(property);
-    value = sdbusplus::message::variant_ns::get<T>(property);
+    hostResponseMsg.read(value);
 }
 
 void Zone::handleEvent(sdbusplus::message::message& msg,