Bitcoin
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CMainSignals Class Reference

#include <validationinterface.h>

Public Member Functions

void RegisterBackgroundSignalScheduler (CScheduler &scheduler)
 
void UnregisterBackgroundSignalScheduler ()
 
void FlushBackgroundCallbacks ()
 
size_t CallbacksPending ()
 
void RegisterWithMempoolSignals (CTxMemPool &pool)
 
void UnregisterWithMempoolSignals (CTxMemPool &pool)
 
void UpdatedBlockTip (const CBlockIndex *, const CBlockIndex *, bool fInitialDownload)
 
void TransactionAddedToMempool (const CTransactionRef &)
 
void BlockConnected (const std::shared_ptr< const CBlock > &, const CBlockIndex *pindex, const std::shared_ptr< const std::vector< CTransactionRef >> &)
 
void BlockDisconnected (const std::shared_ptr< const CBlock > &)
 
void ChainStateFlushed (const CBlockLocator &)
 
void BlockChecked (const CBlock &, const CValidationState &)
 
void NewPoWValidBlock (const CBlockIndex *, const std::shared_ptr< const CBlock > &)
 

Private Member Functions

friend void ::RegisterValidationInterface (CValidationInterface *)
 
friend void ::UnregisterValidationInterface (CValidationInterface *)
 
friend void ::UnregisterAllValidationInterfaces ()
 
friend void ::CallFunctionInValidationInterfaceQueue (std::function< void()> func)
 
void MempoolEntryRemoved (CTransactionRef tx, MemPoolRemovalReason reason)
 

Private Attributes

std::unique_ptr< MainSignalsInstancem_internals
 

Member Function Documentation

◆ BlockChecked()

void CMainSignals::BlockChecked ( const CBlock block,
const CValidationState state 
)

◆ BlockConnected()

void CMainSignals::BlockConnected ( const std::shared_ptr< const CBlock > &  pblock,
const CBlockIndex pindex,
const std::shared_ptr< const std::vector< CTransactionRef >> &  pvtxConflicted 
)

◆ BlockDisconnected()

void CMainSignals::BlockDisconnected ( const std::shared_ptr< const CBlock > &  pblock)

◆ CallbacksPending()

size_t CMainSignals::CallbacksPending ( )

◆ ChainStateFlushed()

void CMainSignals::ChainStateFlushed ( const CBlockLocator locator)

◆ FlushBackgroundCallbacks()

void CMainSignals::FlushBackgroundCallbacks ( )

Call any remaining callbacks on the calling thread

◆ MempoolEntryRemoved()

void CMainSignals::MempoolEntryRemoved ( CTransactionRef  tx,
MemPoolRemovalReason  reason 
)
private

◆ NewPoWValidBlock()

void CMainSignals::NewPoWValidBlock ( const CBlockIndex pindex,
const std::shared_ptr< const CBlock > &  block 
)

◆ RegisterBackgroundSignalScheduler()

void CMainSignals::RegisterBackgroundSignalScheduler ( CScheduler scheduler)

Register a CScheduler to give callbacks which should run in the background (may only be called once)

◆ RegisterWithMempoolSignals()

void CMainSignals::RegisterWithMempoolSignals ( CTxMemPool pool)

Register with mempool to call TransactionRemovedFromMempool callbacks

◆ TransactionAddedToMempool()

void CMainSignals::TransactionAddedToMempool ( const CTransactionRef ptx)

◆ UnregisterBackgroundSignalScheduler()

void CMainSignals::UnregisterBackgroundSignalScheduler ( )

Unregister a CScheduler to give callbacks which should run in the background - these callbacks will now be dropped!

◆ UnregisterWithMempoolSignals()

void CMainSignals::UnregisterWithMempoolSignals ( CTxMemPool pool)

Unregister with mempool

◆ UpdatedBlockTip()

void CMainSignals::UpdatedBlockTip ( const CBlockIndex pindexNew,
const CBlockIndex pindexFork,
bool  fInitialDownload 
)

◆ void ::CallFunctionInValidationInterfaceQueue()

CMainSignals::void ::CallFunctionInValidationInterfaceQueue ( std::function< void()>  func)
private

◆ void ::RegisterValidationInterface()

CMainSignals::void ::RegisterValidationInterface ( CValidationInterface )
private

◆ void ::UnregisterAllValidationInterfaces()

CMainSignals::void ::UnregisterAllValidationInterfaces ( )
private

◆ void ::UnregisterValidationInterface()

CMainSignals::void ::UnregisterValidationInterface ( CValidationInterface )
private

Member Data Documentation

◆ m_internals

std::unique_ptr<MainSignalsInstance> CMainSignals::m_internals
private

The documentation for this class was generated from the following files: