From 81ea66c30e2953dee24d5b127c28daa0d9452a28 Mon Sep 17 00:00:00 2001 From: Russell Yanofsky Date: Fri, 27 Sep 2019 07:31:44 -0400 Subject: Drop signal CClientUIInterface::LoadWallet --- src/interfaces/handler.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/interfaces/handler.cpp') diff --git a/src/interfaces/handler.cpp b/src/interfaces/handler.cpp index 92601fc4e..4e235688f 100644 --- a/src/interfaces/handler.cpp +++ b/src/interfaces/handler.cpp @@ -22,6 +22,15 @@ public: boost::signals2::scoped_connection m_connection; }; +class CleanupHandler : public Handler +{ +public: + explicit CleanupHandler(std::function cleanup) : m_cleanup(std::move(cleanup)) {} + ~CleanupHandler() override { if (!m_cleanup) return; m_cleanup(); m_cleanup = nullptr; } + void disconnect() override { if (!m_cleanup) return; m_cleanup(); m_cleanup = nullptr; } + std::function m_cleanup; +}; + } // namespace std::unique_ptr MakeHandler(boost::signals2::connection connection) @@ -29,4 +38,9 @@ std::unique_ptr MakeHandler(boost::signals2::connection connection) return MakeUnique(std::move(connection)); } +std::unique_ptr MakeHandler(std::function cleanup) +{ + return MakeUnique(std::move(cleanup)); +} + } // namespace interfaces -- cgit v1.2.3