summaryrefslogtreecommitdiffstats
path: root/src/watch.hpp
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2017-05-23 18:06:38 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2017-06-19 16:21:47 -0400
commit4b916f139a9b3ccac76610f5e4da1fe0bb4dfd51 (patch)
treedab7d7442a70591a533930dff1102de7ff4d6151 /src/watch.hpp
parentfac1b1035ad5a0339fc1af600866343452dd77d3 (diff)
downloadphosphor-dbus-monitor-4b916f139a9b3ccac76610f5e4da1fe0bb4dfd51.tar.gz
phosphor-dbus-monitor-4b916f139a9b3ccac76610f5e4da1fe0bb4dfd51.zip
Add property watches
Property watches cache DBus property values given an externally supplied index of property names and paths, in an externally supplied storage location. Change-Id: I155081da88c3ab0e4f6a13b012fc9719203b1888 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'src/watch.hpp')
-rw-r--r--src/watch.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/watch.hpp b/src/watch.hpp
new file mode 100644
index 0000000..1ba671d
--- /dev/null
+++ b/src/watch.hpp
@@ -0,0 +1,36 @@
+#pragma once
+
+namespace phosphor
+{
+namespace dbus
+{
+namespace monitoring
+{
+
+/** @class Watch
+ * @brief Watch interface.
+ *
+ * The start method is invoked by main() on all watches of any type
+ * at application startup, to allow watches to perform custom setup
+ * or initialization. Typical implementations might register dbus
+ * callbacks or perform queries.
+ *
+ * Watches of any type can be started.
+ */
+class Watch
+{
+ public:
+ Watch() = default;
+ Watch(const Watch&) = default;
+ Watch(Watch&&) = default;
+ Watch& operator=(const Watch&) = default;
+ Watch& operator=(Watch&&) = default;
+ virtual ~Watch() = default;
+
+ /** @brief Start the watch. */
+ virtual void start() = 0;
+};
+
+} // namespace monitoring
+} // namespace dbus
+} // namespace phosphor
OpenPOWER on IntegriCloud