Enable tach signal handler

Register and handle tach change signals for each tach sensor.
Inventory would be updated when all tach sensors for a specific fan
enclosure have a tach value of zero.

Change-Id: Idd3f53c29c68c6171d858e616fbfe868f30a4ea9
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/fan_enclosure.cpp b/fan_enclosure.cpp
index 46efeb5..b02d6e1 100644
--- a/fan_enclosure.cpp
+++ b/fan_enclosure.cpp
@@ -1,3 +1,4 @@
+#include <algorithm>
 #include "fan_enclosure.hpp"
 
 
@@ -13,6 +14,19 @@
     //TODO Add this fan to inventory
 }
 
+void FanEnclosure::updInventory()
+{
+    auto presPred = [](auto const& s) {return s->isPresent();};
+    // Determine if all sensors show fan is not present
+    auto isPresent = std::any_of(FanEnclosure::sensors.begin(),
+                                 FanEnclosure::sensors.end(),
+                                 presPred);
+    if (!isPresent)
+    {
+        //TODO Update inventory for this fan
+    }
+}
+
 void FanEnclosure::addSensor(
     std::unique_ptr<Sensor>&& sensor)
 {