Changeset View
Changeset View
Standalone View
Standalone View
src/interfaces/handler.cpp
Show All 9 Lines | |||||
#include <memory> | #include <memory> | ||||
#include <utility> | #include <utility> | ||||
namespace interfaces { | namespace interfaces { | ||||
namespace { | namespace { | ||||
class HandlerImpl : public Handler { | class HandlerImpl : public Handler { | ||||
public: | public: | ||||
HandlerImpl(boost::signals2::connection connection) | explicit HandlerImpl(boost::signals2::connection connection) | ||||
: m_connection(std::move(connection)) {} | : m_connection(std::move(connection)) {} | ||||
void disconnect() override { m_connection.disconnect(); } | void disconnect() override { m_connection.disconnect(); } | ||||
boost::signals2::scoped_connection m_connection; | boost::signals2::scoped_connection m_connection; | ||||
}; | }; | ||||
} // namespace | } // namespace | ||||
std::unique_ptr<Handler> MakeHandler(boost::signals2::connection connection) { | std::unique_ptr<Handler> MakeHandler(boost::signals2::connection connection) { | ||||
return std::make_unique<HandlerImpl>(std::move(connection)); | return std::make_unique<HandlerImpl>(std::move(connection)); | ||||
} | } | ||||
} // namespace interfaces | } // namespace interfaces |