Convert variant usage to std interface
This is just a refactoring to use the c++17 std::variant interfaces
instead of the mapbox::variant specific ones. We should be able to use
mapbox::variant and std::variant interchangeably now.
Tested:
Built against sdbusplus with mapbox::variant and sbusplus using
std::variant. Both variant compile and test out.
Change-Id: I6fbaad3d12dd34968db6a10f3d74a65e07d0f0cc
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/sensordatahandler.hpp b/sensordatahandler.hpp
index bcb55ff..d56aea8 100644
--- a/sensordatahandler.hpp
+++ b/sensordatahandler.hpp
@@ -7,12 +7,15 @@
#include <host-ipmid/ipmid-api.h>
#include <cmath>
+#include <sdbusplus/message/types.hpp>
namespace ipmi
{
namespace sensor
{
+namespace variant_ns = sdbusplus::message::variant_ns;
+
using Assertion = uint16_t;
using Deassertion = uint16_t;
using AssertionSet = std::pair<Assertion, Deassertion>;
@@ -164,7 +167,8 @@
sensorInfo.propertyInterfaces.begin()->first,
sensorInfo.propertyInterfaces.begin()->second.begin()->first);
- setAssertionBytes(static_cast<uint16_t>(propValue.get<T>()), responseData);
+ setAssertionBytes(static_cast<uint16_t>(variant_ns::get<T>(propValue)),
+ responseData);
return response;
}
@@ -194,7 +198,7 @@
sensorInfo.propertyInterfaces.begin()->first,
sensorInfo.propertyInterfaces.begin()->second.begin()->first);
- double value = propValue.get<T>() *
+ double value = variant_ns::get<T>(propValue) *
std::pow(10, sensorInfo.scale - sensorInfo.exponentR);
auto rawData = static_cast<uint8_t>((value - sensorInfo.scaledOffset) /