diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2017-04-12 13:48:29 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-05-15 16:58:09 -0400 |
commit | 240bf332d20c31be5abe066945012542d94f5333 (patch) | |
tree | 64d28e1df3c88b9e170214674a000807126bb509 /src/monitor.hpp | |
parent | e6af23313890b82c4fca4d61ec1d2d9ff4817870 (diff) | |
download | phosphor-dbus-monitor-240bf332d20c31be5abe066945012542d94f5333.tar.gz phosphor-dbus-monitor-240bf332d20c31be5abe066945012542d94f5333.zip |
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>
Diffstat (limited to 'src/monitor.hpp')
-rw-r--r-- | src/monitor.hpp | 14 |
1 files changed, 14 insertions, 0 deletions
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 @@ class Monitor 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 @@ class Monitor 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 |