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)
{