diff --git a/src/common/interfaces.cpp b/src/common/interfaces.cpp index 289856871d..b9b4f5dded 100644 --- a/src/common/interfaces.cpp +++ b/src/common/interfaces.cpp @@ -20,10 +20,10 @@ public: std::function m_cleanup; }; -class HandlerImpl : public interfaces::Handler +class SignalHandler : public interfaces::Handler { public: - explicit HandlerImpl(boost::signals2::connection connection) : m_connection(std::move(connection)) {} + explicit SignalHandler(boost::signals2::connection connection) : m_connection(std::move(connection)) {} void disconnect() override { m_connection.disconnect(); } @@ -39,14 +39,14 @@ public: } // namespace common namespace interfaces { -std::unique_ptr MakeHandler(std::function cleanup) +std::unique_ptr MakeCleanupHandler(std::function cleanup) { return std::make_unique(std::move(cleanup)); } -std::unique_ptr MakeHandler(boost::signals2::connection connection) +std::unique_ptr MakeSignalHandler(boost::signals2::connection connection) { - return std::make_unique(std::move(connection)); + return std::make_unique(std::move(connection)); } std::unique_ptr MakeEcho() { return std::make_unique(); } diff --git a/src/interfaces/handler.h b/src/interfaces/handler.h index 11baf9dd65..f46f5e04a5 100644 --- a/src/interfaces/handler.h +++ b/src/interfaces/handler.h @@ -29,10 +29,10 @@ public: }; //! Return handler wrapping a boost signal connection. -std::unique_ptr MakeHandler(boost::signals2::connection connection); +std::unique_ptr MakeSignalHandler(boost::signals2::connection connection); //! Return handler wrapping a cleanup function. -std::unique_ptr MakeHandler(std::function cleanup); +std::unique_ptr MakeCleanupHandler(std::function cleanup); } // namespace interfaces diff --git a/src/node/interfaces.cpp b/src/node/interfaces.cpp index 212780b259..f557d35b73 100644 --- a/src/node/interfaces.cpp +++ b/src/node/interfaces.cpp @@ -64,7 +64,7 @@ using interfaces::BlockTip; using interfaces::Chain; using interfaces::FoundBlock; using interfaces::Handler; -using interfaces::MakeHandler; +using interfaces::MakeSignalHandler; using interfaces::Node; using interfaces::WalletLoader; @@ -336,50 +336,50 @@ public: } std::unique_ptr handleInitMessage(InitMessageFn fn) override { - return MakeHandler(::uiInterface.InitMessage_connect(fn)); + return MakeSignalHandler(::uiInterface.InitMessage_connect(fn)); } std::unique_ptr handleMessageBox(MessageBoxFn fn) override { - return MakeHandler(::uiInterface.ThreadSafeMessageBox_connect(fn)); + return MakeSignalHandler(::uiInterface.ThreadSafeMessageBox_connect(fn)); } std::unique_ptr handleQuestion(QuestionFn fn) override { - return MakeHandler(::uiInterface.ThreadSafeQuestion_connect(fn)); + return MakeSignalHandler(::uiInterface.ThreadSafeQuestion_connect(fn)); } std::unique_ptr handleShowProgress(ShowProgressFn fn) override { - return MakeHandler(::uiInterface.ShowProgress_connect(fn)); + return MakeSignalHandler(::uiInterface.ShowProgress_connect(fn)); } std::unique_ptr handleInitWallet(InitWalletFn fn) override { - return MakeHandler(::uiInterface.InitWallet_connect(fn)); + return MakeSignalHandler(::uiInterface.InitWallet_connect(fn)); } std::unique_ptr handleNotifyNumConnectionsChanged(NotifyNumConnectionsChangedFn fn) override { - return MakeHandler(::uiInterface.NotifyNumConnectionsChanged_connect(fn)); + return MakeSignalHandler(::uiInterface.NotifyNumConnectionsChanged_connect(fn)); } std::unique_ptr handleNotifyNetworkActiveChanged(NotifyNetworkActiveChangedFn fn) override { - return MakeHandler(::uiInterface.NotifyNetworkActiveChanged_connect(fn)); + return MakeSignalHandler(::uiInterface.NotifyNetworkActiveChanged_connect(fn)); } std::unique_ptr handleNotifyAlertChanged(NotifyAlertChangedFn fn) override { - return MakeHandler(::uiInterface.NotifyAlertChanged_connect(fn)); + return MakeSignalHandler(::uiInterface.NotifyAlertChanged_connect(fn)); } std::unique_ptr handleBannedListChanged(BannedListChangedFn fn) override { - return MakeHandler(::uiInterface.BannedListChanged_connect(fn)); + return MakeSignalHandler(::uiInterface.BannedListChanged_connect(fn)); } std::unique_ptr handleNotifyBlockTip(NotifyBlockTipFn fn) override { - return MakeHandler(::uiInterface.NotifyBlockTip_connect([fn](SynchronizationState sync_state, const CBlockIndex* block) { + return MakeSignalHandler(::uiInterface.NotifyBlockTip_connect([fn](SynchronizationState sync_state, const CBlockIndex* block) { fn(sync_state, BlockTip{block->nHeight, block->GetBlockTime(), block->GetBlockHash()}, GuessVerificationProgress(Params().TxData(), block)); })); } std::unique_ptr handleNotifyHeaderTip(NotifyHeaderTipFn fn) override { - return MakeHandler( + return MakeSignalHandler( ::uiInterface.NotifyHeaderTip_connect([fn](SynchronizationState sync_state, int64_t height, int64_t timestamp, bool presync) { fn(sync_state, BlockTip{(int)height, timestamp, uint256{}}, presync); })); diff --git a/src/wallet/interfaces.cpp b/src/wallet/interfaces.cpp index 9cf2b677e6..009dd8d55a 100644 --- a/src/wallet/interfaces.cpp +++ b/src/wallet/interfaces.cpp @@ -36,7 +36,7 @@ using interfaces::Chain; using interfaces::FoundBlock; using interfaces::Handler; -using interfaces::MakeHandler; +using interfaces::MakeSignalHandler; using interfaces::Wallet; using interfaces::WalletAddress; using interfaces::WalletBalances; @@ -486,34 +486,34 @@ public: bool isLegacy() override { return m_wallet->IsLegacy(); } std::unique_ptr handleUnload(UnloadFn fn) override { - return MakeHandler(m_wallet->NotifyUnload.connect(fn)); + return MakeSignalHandler(m_wallet->NotifyUnload.connect(fn)); } std::unique_ptr handleShowProgress(ShowProgressFn fn) override { - return MakeHandler(m_wallet->ShowProgress.connect(fn)); + return MakeSignalHandler(m_wallet->ShowProgress.connect(fn)); } std::unique_ptr handleStatusChanged(StatusChangedFn fn) override { - return MakeHandler(m_wallet->NotifyStatusChanged.connect([fn](CWallet*) { fn(); })); + return MakeSignalHandler(m_wallet->NotifyStatusChanged.connect([fn](CWallet*) { fn(); })); } std::unique_ptr handleAddressBookChanged(AddressBookChangedFn fn) override { - return MakeHandler(m_wallet->NotifyAddressBookChanged.connect( + return MakeSignalHandler(m_wallet->NotifyAddressBookChanged.connect( [fn](const CTxDestination& address, const std::string& label, bool is_mine, const std::string& purpose, ChangeType status) { fn(address, label, is_mine, purpose, status); })); } std::unique_ptr handleTransactionChanged(TransactionChangedFn fn) override { - return MakeHandler(m_wallet->NotifyTransactionChanged.connect( + return MakeSignalHandler(m_wallet->NotifyTransactionChanged.connect( [fn](const uint256& txid, ChangeType status) { fn(txid, status); })); } std::unique_ptr handleWatchOnlyChanged(WatchOnlyChangedFn fn) override { - return MakeHandler(m_wallet->NotifyWatchonlyChanged.connect(fn)); + return MakeSignalHandler(m_wallet->NotifyWatchonlyChanged.connect(fn)); } std::unique_ptr handleCanGetAddressesChanged(CanGetAddressesChangedFn fn) override { - return MakeHandler(m_wallet->NotifyCanGetAddressesChanged.connect(fn)); + return MakeSignalHandler(m_wallet->NotifyCanGetAddressesChanged.connect(fn)); } CWallet* wallet() override { return m_wallet.get(); } diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 431e970edc..4a7fa3d00e 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -171,7 +171,7 @@ std::unique_ptr HandleLoadWallet(WalletContext& context, Lo { LOCK(context.wallets_mutex); auto it = context.wallet_load_fns.emplace(context.wallet_load_fns.end(), std::move(load_wallet)); - return interfaces::MakeHandler([&context, it] { LOCK(context.wallets_mutex); context.wallet_load_fns.erase(it); }); + return interfaces::MakeCleanupHandler([&context, it] { LOCK(context.wallets_mutex); context.wallet_load_fns.erase(it); }); } void NotifyWalletLoaded(WalletContext& context, const std::shared_ptr& wallet)