monitor: Update YAML parser to handle trust groups
It creates a list of group creator lambdas based on
the information in the monitor YAML file.
These lambdas are called by the manager class to create
the trust group instances.
A real life example is:
const std::vector<CreateGroupFunction> trustGroups
{
{
[]()
{
std::vector<std::string> names{
"fan0_1",
"fan1_1",
"fan2_1",
"fan3_1",
};
return std::make_unique<NonzeroSpeed>(names);
}
},
};
Change-Id: Ia883df35efb86242aae2f8ed7d1714e94e65a6e6
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/monitor/fan_defs.hpp b/monitor/fan_defs.hpp
index 2cfd44a..b766f8e 100644
--- a/monitor/fan_defs.hpp
+++ b/monitor/fan_defs.hpp
@@ -4,3 +4,6 @@
extern const std::vector<phosphor::fan::monitor::FanDefinition>
fanDefinitions;
+
+extern const std::vector<phosphor::fan::monitor::CreateGroupFunction>
+trustGroups;