diff options
author | Ratan Gupta <ratagupt@in.ibm.com> | 2018-02-21 19:03:13 +0530 |
---|---|---|
committer | Ratan Gupta <ratagupt@in.ibm.com> | 2018-02-22 21:05:19 +0530 |
commit | a45e086dc57f51efb882bf864e78fe678238deea (patch) | |
tree | 47099446e3b5f83528435a46af0efc90dd395d2a /src/propertywatchimpl.hpp | |
parent | 882d741c2392e2c37c2fbdaf1207e64ea6dc91a7 (diff) | |
download | phosphor-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.hpp | 6 |
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); } } |