]>
Commit | Line | Data |
---|---|---|
26c16d9d JT |
1 | // Copyright (c) 2009-2010 Satoshi Nakamoto |
2 | // Copyright (c) 2009-2014 The Bitcoin Core developers | |
3 | // Distributed under the MIT software license, see the accompanying | |
4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | |
5 | ||
6 | #include "validationinterface.h" | |
7 | ||
8 | static CMainSignals g_signals; | |
9 | ||
10 | CMainSignals& GetMainSignals() | |
11 | { | |
12 | return g_signals; | |
13 | } | |
14 | ||
15 | void RegisterValidationInterface(CValidationInterface* pwalletIn) { | |
7e6ec078 | 16 | g_signals.UpdatedBlockTip.connect(boost::bind(&CValidationInterface::UpdatedBlockTip, pwalletIn, _1)); |
26c16d9d JT |
17 | g_signals.SyncTransaction.connect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2)); |
18 | g_signals.EraseTransaction.connect(boost::bind(&CValidationInterface::EraseFromWallet, pwalletIn, _1)); | |
19 | g_signals.UpdatedTransaction.connect(boost::bind(&CValidationInterface::UpdatedTransaction, pwalletIn, _1)); | |
de42390f | 20 | g_signals.ChainTip.connect(boost::bind(&CValidationInterface::ChainTip, pwalletIn, _1, _2, _3, _4)); |
26c16d9d JT |
21 | g_signals.SetBestChain.connect(boost::bind(&CValidationInterface::SetBestChain, pwalletIn, _1)); |
22 | g_signals.Inventory.connect(boost::bind(&CValidationInterface::Inventory, pwalletIn, _1)); | |
0f5954c4 | 23 | g_signals.Broadcast.connect(boost::bind(&CValidationInterface::ResendWalletTransactions, pwalletIn, _1)); |
26c16d9d JT |
24 | g_signals.BlockChecked.connect(boost::bind(&CValidationInterface::BlockChecked, pwalletIn, _1, _2)); |
25 | } | |
26 | ||
27 | void UnregisterValidationInterface(CValidationInterface* pwalletIn) { | |
28 | g_signals.BlockChecked.disconnect(boost::bind(&CValidationInterface::BlockChecked, pwalletIn, _1, _2)); | |
0f5954c4 | 29 | g_signals.Broadcast.disconnect(boost::bind(&CValidationInterface::ResendWalletTransactions, pwalletIn, _1)); |
26c16d9d | 30 | g_signals.Inventory.disconnect(boost::bind(&CValidationInterface::Inventory, pwalletIn, _1)); |
de42390f | 31 | g_signals.ChainTip.disconnect(boost::bind(&CValidationInterface::ChainTip, pwalletIn, _1, _2, _3, _4)); |
26c16d9d JT |
32 | g_signals.SetBestChain.disconnect(boost::bind(&CValidationInterface::SetBestChain, pwalletIn, _1)); |
33 | g_signals.UpdatedTransaction.disconnect(boost::bind(&CValidationInterface::UpdatedTransaction, pwalletIn, _1)); | |
34 | g_signals.EraseTransaction.disconnect(boost::bind(&CValidationInterface::EraseFromWallet, pwalletIn, _1)); | |
35 | g_signals.SyncTransaction.disconnect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2)); | |
7e6ec078 | 36 | g_signals.UpdatedBlockTip.disconnect(boost::bind(&CValidationInterface::UpdatedBlockTip, pwalletIn, _1)); |
26c16d9d JT |
37 | } |
38 | ||
39 | void UnregisterAllValidationInterfaces() { | |
40 | g_signals.BlockChecked.disconnect_all_slots(); | |
41 | g_signals.Broadcast.disconnect_all_slots(); | |
42 | g_signals.Inventory.disconnect_all_slots(); | |
769e031c | 43 | g_signals.ChainTip.disconnect_all_slots(); |
26c16d9d JT |
44 | g_signals.SetBestChain.disconnect_all_slots(); |
45 | g_signals.UpdatedTransaction.disconnect_all_slots(); | |
46 | g_signals.EraseTransaction.disconnect_all_slots(); | |
47 | g_signals.SyncTransaction.disconnect_all_slots(); | |
7e6ec078 | 48 | g_signals.UpdatedBlockTip.disconnect_all_slots(); |
26c16d9d JT |
49 | } |
50 | ||
51 | void SyncWithWallets(const CTransaction &tx, const CBlock *pblock) { | |
52 | g_signals.SyncTransaction(tx, pblock); | |
53 | } |