diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-10-19 21:59:47 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-11-08 15:01:04 -0500 |
commit | c0eae1172d3a2c832fc72f9d7bda81d4b723bee9 (patch) | |
tree | dbcb6a2522546ae61355cdc135770acf0c6fa2d4 /actions.hpp | |
parent | bf5aa9cbf5de0642e26dd0c90cf73be1cc7182a5 (diff) | |
download | phosphor-inventory-manager-c0eae1172d3a2c832fc72f9d7bda81d4b723bee9.tar.gz phosphor-inventory-manager-c0eae1172d3a2c832fc72f9d7bda81d4b723bee9.zip |
filters/actions: Pass manager to filters/actions
Change-Id: Iaf70fdd5c8cdb64237bbd1bb5f73add645fededb
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'actions.hpp')
-rw-r--r-- | actions.hpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/actions.hpp b/actions.hpp index 57a2f6f..2837e7a 100644 --- a/actions.hpp +++ b/actions.hpp @@ -9,6 +9,8 @@ namespace inventory { namespace manager { +class Manager; + namespace actions { namespace details @@ -31,10 +33,10 @@ struct Base Base(Base&&) = default; Base& operator=(Base&&) = default; - virtual void operator()() const = 0; - virtual void operator()() + virtual void operator()(Manager &mgr) const = 0; + virtual void operator()(Manager &mgr) { - const_cast<const Base &>(*this)(); + const_cast<const Base &>(*this)(mgr); } }; @@ -58,14 +60,14 @@ struct Holder final : public Base Holder& operator=(Holder&&) = default; explicit Holder(T &&func) : _func(std::forward<T>(func)) {} - virtual void operator()() const override + virtual void operator()(Manager &mgr) const override { - _func(); + _func(mgr); } - virtual void operator()() override + virtual void operator()(Manager &mgr) override { - _func(); + _func(mgr); } private: @@ -93,13 +95,13 @@ struct Wrapper Wrapper(Wrapper&&) = default; Wrapper& operator=(Wrapper&&) = default; - void operator()() + void operator()(Manager &mgr) { - (*_ptr)(); + (*_ptr)(mgr); } - void operator()() const + void operator()(Manager &mgr) const { - (*_ptr)(); + (*_ptr)(mgr); } private: @@ -109,7 +111,7 @@ struct Wrapper } // namespace details /** @brief The default action. */ -inline void noop() noexcept { } +inline void noop(Manager &mgr) noexcept { } } // namespace actions } // namespace manager |