Move entity manager to sdbusplus and remove thread
First step in adding changable thresholds.
Also add in support for arrays of simple types
on dbus. Also remove threads as sdbusplus asio is
not thread safe.
Change-Id: I0ee156d7d49ef9b4c618aa141ffc2a9df1d300a1
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/include/VariantVisitors.hpp b/include/VariantVisitors.hpp
index 41997a6..4b4adf4 100644
--- a/include/VariantVisitors.hpp
+++ b/include/VariantVisitors.hpp
@@ -15,9 +15,9 @@
*/
#pragma once
-#include <boost/variant.hpp>
+#include <string>
-struct VariantToFloatVisitor : public boost::static_visitor<float>
+struct VariantToFloatVisitor
{
template <typename T> float operator()(const T &t) const
{
@@ -26,12 +26,12 @@
};
template <>
inline float VariantToFloatVisitor::
-operator()<std::string>(const std::string &s) const
+ operator()<std::string>(const std::string &s) const
{
throw std::invalid_argument("Cannot translate string to float");
}
-struct VariantToIntVisitor : public boost::static_visitor<int>
+struct VariantToIntVisitor
{
template <typename T> int operator()(const T &t) const
{
@@ -40,12 +40,12 @@
};
template <>
inline int VariantToIntVisitor::
-operator()<std::string>(const std::string &s) const
+ operator()<std::string>(const std::string &s) const
{
throw std::invalid_argument("Cannot translate string to int");
}
-struct VariantToUnsignedIntVisitor : public boost::static_visitor<unsigned int>
+struct VariantToUnsignedIntVisitor
{
template <typename T> unsigned int operator()(const T &t) const
{
@@ -54,7 +54,21 @@
};
template <>
inline unsigned int VariantToUnsignedIntVisitor::
-operator()<std::string>(const std::string &s) const
+ operator()<std::string>(const std::string &s) const
{
throw std::invalid_argument("Cannot translate string to unsigned int");
}
+
+struct VariantToStringVisitor
+{
+ template <typename T> std::string operator()(const T &t) const
+ {
+ return std::to_string(t);
+ }
+};
+template <>
+inline std::string VariantToStringVisitor::
+ operator()<std::string>(const std::string &s) const
+{
+ return s;
+}