Move LoadVariant into Utils

It seems useful in other daemons and is really a
utility.

Change-Id: Iebf3b0dcf5b2981c5f1832b59014772387a656b8
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/include/Utils.hpp b/include/Utils.hpp
index b86c8b5..f5f9341 100644
--- a/include/Utils.hpp
+++ b/include/Utils.hpp
@@ -42,4 +42,31 @@
 
 // replaces limits if MinReading and MaxReading are found.
 void findLimits(std::pair<double, double>& limits,
-                const SensorBaseConfiguration* data);
\ No newline at end of file
+                const SensorBaseConfiguration* data);
+
+template <typename T>
+inline T loadVariant(
+    const boost::container::flat_map<std::string, BasicVariantType>& data,
+    const std::string& key)
+{
+    auto it = data.find(key);
+    if (it == data.end())
+    {
+        std::cerr << "Configuration missing " << key << "\n";
+        throw std::invalid_argument("Key Missing");
+    }
+    if constexpr (std::is_same_v<T, double>)
+    {
+        return sdbusplus::message::variant_ns::visit(VariantToDoubleVisitor(),
+                                                     it->second);
+    }
+    else if constexpr (std::is_same_v<T, std::string>)
+    {
+        return sdbusplus::message::variant_ns::visit(VariantToStringVisitor(),
+                                                     it->second);
+    }
+    else
+    {
+        static_assert("Type Not Implemented");
+    }
+}
diff --git a/src/ExitAirTempSensor.cpp b/src/ExitAirTempSensor.cpp
index 9f97c5d..510e595 100644
--- a/src/ExitAirTempSensor.cpp
+++ b/src/ExitAirTempSensor.cpp
@@ -76,33 +76,6 @@
                          std::move(eventHandler));
 }
 
-template <typename T>
-static T loadVariant(
-    const boost::container::flat_map<std::string, BasicVariantType>& data,
-    const std::string& key)
-{
-    auto it = data.find(key);
-    if (it == data.end())
-    {
-        std::cerr << "Configuration missing " << key << "\n";
-        throw std::invalid_argument("Key Missing");
-    }
-    if constexpr (std::is_same_v<T, double>)
-    {
-        return sdbusplus::message::variant_ns::visit(VariantToDoubleVisitor(),
-                                                     it->second);
-    }
-    else if constexpr (std::is_same_v<T, std::string>)
-    {
-        return sdbusplus::message::variant_ns::visit(VariantToStringVisitor(),
-                                                     it->second);
-    }
-    else
-    {
-        static_assert("Type Not Implemented");
-    }
-}
-
 CFMSensor::CFMSensor(std::shared_ptr<sdbusplus::asio::connection>& conn,
                      const std::string& sensorName,
                      const std::string& sensorConfiguration,