summaryrefslogtreecommitdiffstats
path: root/src/propertywatchimpl.hpp
diff options
context:
space:
mode:
authorRatan Gupta <ratagupt@in.ibm.com>2018-02-21 19:03:13 +0530
committerRatan Gupta <ratagupt@in.ibm.com>2018-02-22 21:05:19 +0530
commita45e086dc57f51efb882bf864e78fe678238deea (patch)
tree47099446e3b5f83528435a46af0efc90dd395d2a /src/propertywatchimpl.hpp
parent882d741c2392e2c37c2fbdaf1207e64ea6dc91a7 (diff)
downloadphosphor-dbus-monitor-a45e086dc57f51efb882bf864e78fe678238deea.tar.gz
phosphor-dbus-monitor-a45e086dc57f51efb882bf864e78fe678238deea.zip
Add callback contexts
Add the notion of a callback context. This enables callbacks to have logic around the conditions they were invoked in. There are two context on which call back can be invoked 1) Startup: during startup all the call backs will be called 2) Signal: As part of condition match on the watched properties. Callback would behave differently based on the context. eg: eventCallback 1) Startup: Don't take any action. 2) Signal: Create the Dbus Object for the event. Change-Id: If455558798ac3e44bbd8a93de0ce1b09d2e308ae Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
Diffstat (limited to 'src/propertywatchimpl.hpp')
-rw-r--r--src/propertywatchimpl.hpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/propertywatchimpl.hpp b/src/propertywatchimpl.hpp
index 3ef5de5..43875b9 100644
--- a/src/propertywatchimpl.hpp
+++ b/src/propertywatchimpl.hpp
@@ -104,12 +104,12 @@ void PropertyWatch<DBusInterfaceType>::start()
}
template <typename DBusInterfaceType>
-void PropertyWatch<DBusInterfaceType>::callback()
+void PropertyWatch<DBusInterfaceType>::callback(Context ctx)
{
// Invoke callback if present.
if (this->alreadyRan && this->cb)
{
- (*this->cb)();
+ (*this->cb)(ctx);
}
}
@@ -149,7 +149,7 @@ void PropertyWatchOfType<T, DBusInterfaceType>::propertiesChanged(
std::get<2>(item->second).get() = p.second.template get<T>();
// Invoke callback if present.
- this->callback();
+ this->callback(Context::SIGNAL);
}
}
OpenPOWER on IntegriCloud