8 #include <boost/signals2/connection.hpp>
14 class HandlerImpl :
public Handler
17 explicit HandlerImpl(boost::signals2::connection connection) :
m_connection(
std::move(connection)) {}
19 void disconnect()
override {
m_connection.disconnect(); }
24 class CleanupHandler :
public Handler
27 explicit CleanupHandler(std::function<
void()> cleanup) :
m_cleanup(std::move(cleanup)) {}
35 std::unique_ptr<Handler>
MakeHandler(boost::signals2::connection connection)
37 return std::make_unique<HandlerImpl>(std::move(connection));
40 std::unique_ptr<Handler>
MakeHandler(std::function<
void()> cleanup)
42 return std::make_unique<CleanupHandler>(std::move(cleanup));