diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2018-05-02 16:03:48 -0500 |
---|---|---|
committer | Matthew Barth <msbarth@us.ibm.com> | 2018-05-03 16:56:37 -0500 |
commit | 81748b1425e453b6a815a7b8ed2fa861d3068ac7 (patch) | |
tree | ad4094ee41e9623f9d0433be246d601e92c837f1 /monitor/Makefile.am | |
parent | 7311c39440a88c6dcf3e64e5ee05900488721fbc (diff) | |
download | phosphor-fan-presence-81748b1425e453b6a815a7b8ed2fa861d3068ac7.tar.gz phosphor-fan-presence-81748b1425e453b6a815a7b8ed2fa861d3068ac7.zip |
Support optional conditions on creating fans
This adds the functional infrastructure to optionally attach a condition
function to a fan definition. When a condition is defined on a fan, it
must be true for a fan's associated functional properties to be created.
When the given condition fails, that fan's functional properties will
not be created by fan monitor. A fan without a defined condition will
have all of its associated functional properties created.
Example of generated condition (generation commit to follow):
make_condition(condition::propertiesMatch(
std::vector<PropertyState>{
PropertyState{
PropertyIdentity{
"/xyz/openbmc_project/inventory/system/chassis",
"xyz.openbmc_project.Inventory.Decorator.CoolingType",
"WaterCooled"
},
static_cast<bool>(false)
}
}
)),
Tested:
Fan functional properties are not created when a condition fails
Fan functional properties are created when condition passes
Fan functional properties are created when no condition exists
Change-Id: I9ced2e520d2f97e6655c9417970b3e976d78fef4
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
Diffstat (limited to 'monitor/Makefile.am')
-rw-r--r-- | monitor/Makefile.am | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/monitor/Makefile.am b/monitor/Makefile.am index 8eda1e0..bea0933 100644 --- a/monitor/Makefile.am +++ b/monitor/Makefile.am @@ -8,7 +8,8 @@ phosphor_fan_monitor_SOURCES = \ argument.cpp \ fan.cpp \ main.cpp \ - tach_sensor.cpp + tach_sensor.cpp \ + conditions.cpp nodist_phosphor_fan_monitor_SOURCES = \ fan_monitor_defs.cpp |