summaryrefslogtreecommitdiffstats
path: root/src/monitor.hpp
diff options
context:
space:
mode:
authorMatthew Barth <msbarth@us.ibm.com>2017-04-12 13:48:29 -0500
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2017-05-15 16:58:09 -0400
commit240bf332d20c31be5abe066945012542d94f5333 (patch)
tree64d28e1df3c88b9e170214674a000807126bb509 /src/monitor.hpp
parente6af23313890b82c4fca4d61ec1d2d9ff4817870 (diff)
downloadphosphor-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.hpp14
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
OpenPOWER on IntegriCloud