inventory: write sensor yaml parser

Write python-based parser for sensor.yaml. The parser generates
sensor-gen.cpp,which is having a map of sensorid(key) and
sensorinfo(value).

Change-Id: I5aa2d2bc871ced06e5e4c164a67eeb5974031d5d
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/types.hpp b/types.hpp
new file mode 100644
index 0000000..d8a1386
--- /dev/null
+++ b/types.hpp
@@ -0,0 +1,48 @@
+#pragma once
+
+#include <stdint.h>
+
+#include <map>
+#include <string>
+
+#include <sdbusplus/server.hpp>
+
+namespace ipmi
+{
+namespace sensor
+{
+
+using Offset = uint8_t;
+using Value = sdbusplus::message::variant<bool, int64_t, std::string>;
+
+struct Values
+{
+   Value assert;
+   Value deassert;
+};
+
+using OffsetValueMap = std::map<Offset,Values>;
+
+using DbusProperty = std::string;
+using DbusPropertyMap = std::map<DbusProperty,OffsetValueMap>;
+
+using DbusInterface = std::string;
+using DbusInterfaceMap = std::map<DbusInterface,DbusPropertyMap>;
+
+using InstancePath = std::string;
+using Type = uint8_t;
+using ReadingType = uint8_t;
+
+struct Info
+{
+   Type sensorType;
+   InstancePath sensorPath;
+   ReadingType sensorReadingType;
+   DbusInterfaceMap sensorInterfaces;
+};
+
+using Id = uint8_t;
+using IdInfoMap = std::map<Id,Info>;
+
+}//namespce sensor
+}//namespace ipmi