PRCYCoin  2.0.0.7rc1
P2P Digital Currency
validationinterface.cpp
Go to the documentation of this file.
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 
11 {
12  return g_signals;
13 }
14 
16  g_signals.UpdatedBlockTip.connect(boost::bind(&CValidationInterface::UpdatedBlockTip, pwalletIn, _1));
17  g_signals.SyncTransaction.connect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2));
18  g_signals.NotifyTransactionLock.connect(boost::bind(&CValidationInterface::NotifyTransactionLock, pwalletIn, _1));
19  g_signals.UpdatedTransaction.connect(boost::bind(&CValidationInterface::UpdatedTransaction, pwalletIn, _1));
20  g_signals.SetBestChain.connect(boost::bind(&CValidationInterface::SetBestChain, pwalletIn, _1));
21  g_signals.Inventory.connect(boost::bind(&CValidationInterface::Inventory, pwalletIn, _1));
22  g_signals.Broadcast.connect(boost::bind(&CValidationInterface::ResendWalletTransactions, pwalletIn));
23  g_signals.BlockChecked.connect(boost::bind(&CValidationInterface::BlockChecked, pwalletIn, _1, _2));
24 // XX42 g_signals.ScriptForMining.connect(boost::bind(&CValidationInterface::GetScriptForMining, pwalletIn, _1));
25  g_signals.BlockFound.connect(boost::bind(&CValidationInterface::ResetRequestCount, pwalletIn, _1));
26 }
27 
29  g_signals.BlockFound.disconnect(boost::bind(&CValidationInterface::ResetRequestCount, pwalletIn, _1));
30 // XX42 g_signals.ScriptForMining.disconnect(boost::bind(&CValidationInterface::GetScriptForMining, pwalletIn, _1));
31  g_signals.BlockChecked.disconnect(boost::bind(&CValidationInterface::BlockChecked, pwalletIn, _1, _2));
32  g_signals.Broadcast.disconnect(boost::bind(&CValidationInterface::ResendWalletTransactions, pwalletIn));
33  g_signals.Inventory.disconnect(boost::bind(&CValidationInterface::Inventory, pwalletIn, _1));
34  g_signals.SetBestChain.disconnect(boost::bind(&CValidationInterface::SetBestChain, pwalletIn, _1));
35  g_signals.UpdatedTransaction.disconnect(boost::bind(&CValidationInterface::UpdatedTransaction, pwalletIn, _1));
36  g_signals.NotifyTransactionLock.disconnect(boost::bind(&CValidationInterface::NotifyTransactionLock, pwalletIn, _1));
37  g_signals.SyncTransaction.disconnect(boost::bind(&CValidationInterface::SyncTransaction, pwalletIn, _1, _2));
38  g_signals.UpdatedBlockTip.disconnect(boost::bind(&CValidationInterface::UpdatedBlockTip, pwalletIn, _1));
39 }
40 
42  g_signals.BlockFound.disconnect_all_slots();
43 // XX42 g_signals.ScriptForMining.disconnect_all_slots();
44  g_signals.BlockChecked.disconnect_all_slots();
45  g_signals.Broadcast.disconnect_all_slots();
46  g_signals.Inventory.disconnect_all_slots();
47  g_signals.SetBestChain.disconnect_all_slots();
48  g_signals.UpdatedTransaction.disconnect_all_slots();
49  g_signals.NotifyTransactionLock.disconnect_all_slots();
50  g_signals.SyncTransaction.disconnect_all_slots();
51  g_signals.UpdatedBlockTip.disconnect_all_slots();
52 }
53 
54 void SyncWithWallets(const CTransaction &tx, const CBlock *pblock = NULL) {
55  g_signals.SyncTransaction(tx, pblock);
56 }
CValidationInterface
Definition: validationinterface.h:32
CMainSignals
Definition: validationinterface.h:51
CMainSignals::UpdatedTransaction
boost::signals2::signal< bool(const uint256 &)> UpdatedTransaction
Notifies listeners of an updated transaction without new data (for now: a coinbase potentially becomi...
Definition: validationinterface.h:59
CValidationInterface::ResetRequestCount
virtual void ResetRequestCount(const uint256 &hash)
Definition: validationinterface.h:45
CMainSignals::SyncTransaction
boost::signals2::signal< void(const CTransaction &, const CBlock *)> SyncTransaction
Notifies listeners of updated transaction data (transaction, and optionally the block it is found in.
Definition: validationinterface.h:55
validationinterface.h
RegisterValidationInterface
void RegisterValidationInterface(CValidationInterface *pwalletIn)
Register a wallet to receive updates from core.
Definition: validationinterface.cpp:15
CMainSignals::UpdatedBlockTip
boost::signals2::signal< void(const CBlockIndex *)> UpdatedBlockTip
Notifies listeners of updated block chain tip.
Definition: validationinterface.h:53
CValidationInterface::ResendWalletTransactions
virtual void ResendWalletTransactions()
Definition: validationinterface.h:42
CValidationInterface::NotifyTransactionLock
virtual void NotifyTransactionLock(const CTransaction &tx)
Definition: validationinterface.h:37
CTransaction
The basic transaction that is broadcasted on the network and contained in blocks.
Definition: transaction.h:269
GetMainSignals
CMainSignals & GetMainSignals()
Definition: validationinterface.cpp:10
CMainSignals::Broadcast
boost::signals2::signal< void()> Broadcast
Tells listeners to broadcast their data.
Definition: validationinterface.h:66
CValidationInterface::UpdatedTransaction
virtual bool UpdatedTransaction(const uint256 &hash)
Definition: validationinterface.h:39
CValidationInterface::Inventory
virtual void Inventory(const uint256 &hash)
Definition: validationinterface.h:40
CMainSignals::Inventory
boost::signals2::signal< void(const uint256 &)> Inventory
Notifies listeners about an inventory item being seen on the network.
Definition: validationinterface.h:63
SyncWithWallets
void SyncWithWallets(const CTransaction &tx, const CBlock *pblock=NULL)
Push an updated transaction to all registered wallets.
Definition: validationinterface.cpp:54
CMainSignals::SetBestChain
boost::signals2::signal< void(const CBlockLocator &)> SetBestChain
Notifies listeners of a new active block chain.
Definition: validationinterface.h:61
CMainSignals::BlockChecked
boost::signals2::signal< void(const CBlock &, const CValidationState &)> BlockChecked
Notifies listeners of a block validation result.
Definition: validationinterface.h:68
CValidationInterface::SetBestChain
virtual void SetBestChain(const CBlockLocator &locator)
Definition: validationinterface.h:38
UnregisterAllValidationInterfaces
void UnregisterAllValidationInterfaces()
Unregister all wallets from core.
Definition: validationinterface.cpp:41
CBlock
Definition: block.h:142
CMainSignals::BlockFound
boost::signals2::signal< void(const uint256 &)> BlockFound
Notifies listeners that a key for mining is required (coinbase)
Definition: validationinterface.h:72
CValidationInterface::SyncTransaction
virtual void SyncTransaction(const CTransaction &tx, const CBlock *pblock)
Definition: validationinterface.h:35
CValidationInterface::BlockChecked
virtual void BlockChecked(const CBlock &, const CValidationState &)
Definition: validationinterface.h:43
CMainSignals::NotifyTransactionLock
boost::signals2::signal< void(const CTransaction &)> NotifyTransactionLock
Notifies listeners of an updated transaction lock without new data.
Definition: validationinterface.h:57
CValidationInterface::UpdatedBlockTip
virtual void UpdatedBlockTip(const CBlockIndex *pindex)
Definition: validationinterface.h:34
UnregisterValidationInterface
void UnregisterValidationInterface(CValidationInterface *pwalletIn)
Unregister a wallet from core.
Definition: validationinterface.cpp:28