IPMI: Virtual sensor support in host ipmid

Resolves openbmc/openbmc#1608

Change-Id: Id76446061fd0fa6dc3dead702538e424293af7ce
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
diff --git a/types.hpp b/types.hpp
index d6fa988..801efd5 100644
--- a/types.hpp
+++ b/types.hpp
@@ -6,6 +6,7 @@
 #include <string>
 
 #include <sdbusplus/server.hpp>
+#include "sensorhandler.h"
 
 namespace ipmi
 {
@@ -15,7 +16,8 @@
 using DbusInterface = std::string;
 using DbusObjectInfo = std::pair<DbusObjectPath, DbusService>;
 using DbusProperty = std::string;
-using Value = sdbusplus::message::variant<bool, int64_t, uint8_t, std::string>;
+using Value = sdbusplus::message::variant<bool, int64_t, uint8_t,
+                            std::string, uint32_t>;
 using PropertyMap = std::map<DbusProperty, Value>;
 using ObjectTree = std::map<DbusObjectPath,
                             std::map<DbusService, std::vector<DbusInterface>>>;
@@ -56,6 +58,7 @@
    OffsetB coefficientB;
    Exponent exponentB;
    ScaledOffset scaledOffset;
+   std::function<uint8_t(SetSensorReadingReq&,const Info&)> updateFunc;
    DbusInterfaceMap sensorInterfaces;
 };
 
@@ -69,6 +72,8 @@
 using Object = sdbusplus::message::object_path;
 using ObjectMap = std::map<Object, InterfaceMap>;
 
+using IpmiUpdateData = sdbusplus::message::message;
+
 struct SelData
 {
    Id sensorID;