control: Remove JSON event precondition support
Event preconditions are essentially specialized actions that load events
after a certain condition is met. JSON configured fan control will just
utilize actions that are configured & created to enable or disable
events based on some state.
Change-Id: I8e8faf3c137062943ffaa9b3adc20d93da3a123c
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/json/event.cpp b/control/json/event.cpp
index 7bb26ec..6e2c080 100644
--- a/control/json/event.cpp
+++ b/control/json/event.cpp
@@ -42,25 +42,17 @@
ConfigBase(jsonObj),
_bus(util::SDBusPlus::getBus()), _manager(mgr), _zones(zones)
{
- // Event could have a precondition
- if (!jsonObj.contains("precondition"))
+ // Event groups are optional
+ if (jsonObj.contains("groups"))
{
- // Event groups are optional
- if (jsonObj.contains("groups"))
- {
- setGroups(jsonObj, _groups);
- }
- // Event actions are optional
- if (jsonObj.contains("actions"))
- {
- setActions(jsonObj);
- }
- setTriggers(jsonObj);
+ setGroups(jsonObj, _groups);
}
- else
+ // Event actions are optional
+ if (jsonObj.contains("actions"))
{
- setPrecond(jsonObj);
+ setActions(jsonObj);
}
+ setTriggers(jsonObj);
}
auto& Event::getAvailGroups()
@@ -104,21 +96,6 @@
}
}
-void Event::setPrecond(const json& jsonObj)
-{
- const auto& precond = jsonObj["precondition"];
- if (!precond.contains("name") || !precond.contains("groups") ||
- !precond.contains("triggers") || !precond.contains("events"))
- {
- log<level::ERR>("Missing required event precondition attributes",
- entry("JSON=%s", precond.dump().c_str()));
- throw std::runtime_error(
- "Missing required event precondition attributes");
- }
- setGroups(precond, _groups);
- setTriggers(precond);
-}
-
void Event::setGroups(const json& jsonObj, std::vector<Group>& groups)
{
auto& availGroups = getAvailGroups();