filters/actions: Pass manager to filters/actions
Change-Id: Iaf70fdd5c8cdb64237bbd1bb5f73add645fededb
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/actions.hpp b/actions.hpp
index 57a2f6f..2837e7a 100644
--- a/actions.hpp
+++ b/actions.hpp
@@ -9,6 +9,8 @@
{
namespace manager
{
+class Manager;
+
namespace actions
{
namespace details
@@ -31,10 +33,10 @@
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 @@
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 @@
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 @@
} // namespace details
/** @brief The default action. */
-inline void noop() noexcept { }
+inline void noop(Manager &mgr) noexcept { }
} // namespace actions
} // namespace manager