Add support for processing signal event triggers
Process signal event triggers' list of conditions on a group and perform
the defined actions.
This re-uses the following struct directly from
phosphor-inventory-manager:
--struct PropertyChangedCondition
Change-Id: I98552f3d168cfcd9f0c1c357289b7000374ae60e
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/src/monitor.hpp b/src/monitor.hpp
index aca64d8..5256582 100644
--- a/src/monitor.hpp
+++ b/src/monitor.hpp
@@ -30,6 +30,12 @@
const std::tuple<std::vector<std::shared_ptr<Event>>,
std::vector<Action>>& eventDef);
+ using eventArg = std::tuple<Monitor*,
+ const SignalEvent*,
+ const std::tuple<
+ std::vector<std::shared_ptr<Event>>,
+ std::vector<Action>>*>;
+
private:
sdbusplus::bus::bus& bus;
@@ -37,6 +43,14 @@
std::tuple<std::vector<std::shared_ptr<Event>>,
std::vector<Action>>> events;
+ std::vector<std::unique_ptr<eventArg>> eventArgs;
+
+ std::vector<sdbusplus::server::match::match> matches;
+
+ static int handleSignal(sd_bus_message* msg,
+ void* data,
+ sd_bus_error* err);
+
};
} // namespace monitoring