Use std::function
Replace CallableHolder with std::function. No need to re-invent
the wheel.
Change-Id: I2647a802237dba4a48187718f0d3da59e97575d7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/actions.hpp b/actions.hpp
index 2fea212..403dca1 100644
--- a/actions.hpp
+++ b/actions.hpp
@@ -2,6 +2,7 @@
#include <utility>
#include <memory>
+#include <functional>
#include "utils.hpp"
#include "types.hpp"
@@ -15,10 +16,7 @@
class Manager;
namespace details
{
-using ActionBase = holder::CallableBase<void, sdbusplus::bus::bus&, Manager&>;
-using ActionBasePtr = std::shared_ptr<ActionBase>;
-template <typename T>
-using Action = holder::CallableHolder<T, void, sdbusplus::bus::bus&, Manager&>;
+using Action = std::function<void (sdbusplus::bus::bus&, Manager&)>;
/** @brief make_action
*
@@ -32,8 +30,7 @@
template <typename T>
auto make_action(T&& action)
{
- return Action<T>::template make_shared<Action<T>>(
- std::forward<T>(action));
+ return Action(std::forward<T>(action));
}
} // namespace details
@@ -43,7 +40,7 @@
/** @brief Destroy objects action. */
inline auto destroyObjects(std::vector<const char*>&& paths)
{
- return [=](auto&, auto & m)
+ return [ = ](auto&, auto & m)
{
m.destroyObjects(paths);
};
@@ -53,7 +50,7 @@
inline auto createObjects(
std::map<sdbusplus::message::object_path, Object>&& objs)
{
- return [=](auto&, auto & m)
+ return [ = ](auto&, auto & m)
{
m.createObjects(objs);
};