Changeset View
Changeset View
Standalone View
Standalone View
src/validationinterface.cpp
// Copyright (c) 2009-2010 Satoshi Nakamoto | // Copyright (c) 2009-2010 Satoshi Nakamoto | ||||
// Copyright (c) 2009-2016 The Bitcoin Core developers | // Copyright (c) 2009-2016 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#include <validationinterface.h> | #include <validationinterface.h> | ||||
#include <scheduler.h> | #include <scheduler.h> | ||||
#include <txmempool.h> | #include <txmempool.h> | ||||
#include <atomic> | #include <atomic> | ||||
#include <future> | #include <future> | ||||
#include <list> | #include <list> | ||||
#include <utility> | |||||
#include <tuple> | #include <tuple> | ||||
#include <utility> | |||||
#include <boost/signals2/signal.hpp> | #include <boost/signals2/signal.hpp> | ||||
struct ValidationInterfaceConnections { | struct ValidationInterfaceConnections { | ||||
boost::signals2::scoped_connection UpdatedBlockTip; | boost::signals2::scoped_connection UpdatedBlockTip; | ||||
boost::signals2::scoped_connection TransactionAddedToMempool; | boost::signals2::scoped_connection TransactionAddedToMempool; | ||||
boost::signals2::scoped_connection BlockConnected; | boost::signals2::scoped_connection BlockConnected; | ||||
boost::signals2::scoped_connection BlockDisconnected; | boost::signals2::scoped_connection BlockDisconnected; | ||||
▲ Show 20 Lines • Show All 111 Lines • ▼ Show 20 Lines | conns.BlockChecked = g_signals.m_internals->BlockChecked.connect( | ||||
std::bind(&CValidationInterface::BlockChecked, pwalletIn, | std::bind(&CValidationInterface::BlockChecked, pwalletIn, | ||||
std::placeholders::_1, std::placeholders::_2)); | std::placeholders::_1, std::placeholders::_2)); | ||||
conns.NewPoWValidBlock = g_signals.m_internals->NewPoWValidBlock.connect( | conns.NewPoWValidBlock = g_signals.m_internals->NewPoWValidBlock.connect( | ||||
std::bind(&CValidationInterface::NewPoWValidBlock, pwalletIn, | std::bind(&CValidationInterface::NewPoWValidBlock, pwalletIn, | ||||
std::placeholders::_1, std::placeholders::_2)); | std::placeholders::_1, std::placeholders::_2)); | ||||
} | } | ||||
void UnregisterValidationInterface(CValidationInterface *pwalletIn) { | void UnregisterValidationInterface(CValidationInterface *pwalletIn) { | ||||
if (g_signals.m_internals) { | |||||
g_signals.m_internals->m_connMainSignals.erase(pwalletIn); | g_signals.m_internals->m_connMainSignals.erase(pwalletIn); | ||||
} | } | ||||
} | |||||
void UnregisterAllValidationInterfaces() { | void UnregisterAllValidationInterfaces() { | ||||
if (!g_signals.m_internals) { | if (!g_signals.m_internals) { | ||||
return; | return; | ||||
} | } | ||||
g_signals.m_internals->m_connMainSignals.clear(); | g_signals.m_internals->m_connMainSignals.clear(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |