summaryrefslogtreecommitdiffstats
path: root/control/zone.cpp
diff options
context:
space:
mode:
authorMatthew Barth <msbarth@us.ibm.com>2019-02-13 11:37:03 -0600
committerMatthew Barth <msbarth@us.ibm.com>2019-02-14 14:44:11 -0600
commit1b3e960219c8d7d4add71c862cd8756104615251 (patch)
treee7be8b88340737ad6d9bc7dd81a125c7fcd7f120 /control/zone.cpp
parent4b258ac8b679b8d160d0c3f290c0ecee6a99a1e3 (diff)
downloadphosphor-fan-presence-1b3e960219c8d7d4add71c862cd8756104615251.tar.gz
phosphor-fan-presence-1b3e960219c8d7d4add71c862cd8756104615251.zip
Add framework to set properties on a zone
Properties hosted by a zone object need the ability to be set upon zone initialization. This adds support to allow the zone configuration yaml to contain what properties to set and with what values on a zone. The parser updates to generate what uses this framework is in a followup commit. Change-Id: I9fd93746cc097f05869400451daff03cf3ef89b7 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
Diffstat (limited to 'control/zone.cpp')
-rw-r--r--control/zone.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/control/zone.cpp b/control/zone.cpp
index 326ca68..b844793 100644
--- a/control/zone.cpp
+++ b/control/zone.cpp
@@ -72,6 +72,12 @@ Zone::Zone(Mode mode,
// Do not enable set speed events when in init mode
if (mode == Mode::control)
{
+ // Process any zone handlers defined
+ for (auto& hand : std::get<handlerPos>(def))
+ {
+ hand(*this);
+ }
+
// Restore thermal control current mode state
restoreCurrentMode();
OpenPOWER on IntegriCloud