Create fan enclosure objects

For tach feedback based presence detected fans, a fan enclosure object
is created from the properties given within the yaml file.

Change-Id: I698dd7c8d05863aaaab4dcb5d4c696b15fdf941d
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/tach_detect.cpp b/tach_detect.cpp
index 9b2ccd1..e3d2389 100644
--- a/tach_detect.cpp
+++ b/tach_detect.cpp
@@ -1,10 +1,30 @@
 #include <vector>
 #include <sdbusplus/bus.hpp>
+#include "fan_enclosure.hpp"
+#include "fan_detect_defs.hpp"
+
 
 int main(void)
 {
     auto bus = sdbusplus::bus::new_default();
 
+    std::vector<std::unique_ptr<phosphor::fan::presence::FanEnclosure>> fans;
+
+    for (auto const& detectMap: fanDetectMap)
+    {
+        if (detectMap.first == "tach")
+        {
+            for (auto const& fanProp: detectMap.second)
+            {
+                auto fan = std::make_unique<
+                    phosphor::fan::presence::FanEnclosure>(bus,
+                                                           fanProp);
+                // TODO Add sensors to fan object
+                fans.push_back(std::move(fan));
+            }
+        }
+    }
+
     while (true)
     {
         // Respond to dbus signals