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