diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2017-02-17 17:48:56 -0600 |
---|---|---|
committer | Matthew Barth <msbarth@us.ibm.com> | 2017-03-15 13:46:25 -0500 |
commit | cd4f4d1a0a49f4ed43b3a773d2e2046cc15ef1d1 (patch) | |
tree | 968a6a326d2ccf4dac30deb5c786a2ae6833ba3b /fan_enclosure.cpp | |
parent | d64038262e4c8743ae774efde7a8e91544ed359b (diff) | |
download | phosphor-fan-presence-cd4f4d1a0a49f4ed43b3a773d2e2046cc15ef1d1.tar.gz phosphor-fan-presence-cd4f4d1a0a49f4ed43b3a773d2e2046cc15ef1d1.zip |
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>
Diffstat (limited to 'fan_enclosure.cpp')
-rw-r--r-- | fan_enclosure.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
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 @@ void FanEnclosure::addInventory() //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) { |