[#ValidationSignals]
= ValidationSignals
:mrdocs:

Dispatches validation event notifications to registered subscribers&period;

== Synopsis

Declared in `&lt;validationinterface&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class ValidationSignals;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:ValidationSignals/2constructor.adoc[`ValidationSignals`]         [.small]#[constructor]#
| Construct the signal dispatcher&period;
| xref:ValidationSignals/2destructor.adoc[`&#126;ValidationSignals`] [.small]#[destructor]#
| Destroy the dispatcher, releasing its internal state&period;
| xref:ValidationSignals/ActiveTipChange.adoc[`ActiveTipChange`] 
| Fire the ActiveTipChange event to all subscribers&period;
| xref:ValidationSignals/BlockChecked.adoc[`BlockChecked`] 
| Fire the BlockChecked event to all subscribers&period;
| xref:ValidationSignals/BlockConnected.adoc[`BlockConnected`] 
| Fire the BlockConnected event to all subscribers&period;
| xref:ValidationSignals/BlockDisconnected.adoc[`BlockDisconnected`] 
| Fire the BlockDisconnected event to all subscribers&period;
| xref:ValidationSignals/CallFunctionInValidationInterfaceQueue.adoc[`CallFunctionInValidationInterfaceQueue`] 
| Pushes a function to callback onto the notification queue, guaranteeing any callbacks generated prior to now are finished when the function is called&period;
| xref:ValidationSignals/CallbacksPending.adoc[`CallbacksPending`] 
| Return the number of callbacks still queued for delivery&period;
| xref:ValidationSignals/ChainStateFlushed.adoc[`ChainStateFlushed`] 
| Fire the ChainStateFlushed event to all subscribers&period;
| xref:ValidationSignals/FlushBackgroundCallbacks.adoc[`FlushBackgroundCallbacks`] 
| Call any remaining callbacks on the calling thread
| xref:ValidationSignals/MempoolTransactionsRemovedForBlock.adoc[`MempoolTransactionsRemovedForBlock`] 
| Fire the MempoolTransactionsRemovedForBlock event to all subscribers&period;
| xref:ValidationSignals/NewPoWValidBlock.adoc[`NewPoWValidBlock`] 
| Fire the NewPoWValidBlock event to all subscribers&period;
| xref:ValidationSignals/RegisterSharedValidationInterface.adoc[`RegisterSharedValidationInterface`] 
| Register subscriber
| xref:ValidationSignals/RegisterValidationInterface.adoc[`RegisterValidationInterface`] 
| Register subscriber
| xref:ValidationSignals/SyncWithValidationInterfaceQueue.adoc[`SyncWithValidationInterfaceQueue`] 
| This is a synonym for the following, which asserts certain locks are not held&colon; std&colon;&colon;promise&lt;void&gt; promise&semi; CallFunctionInValidationInterfaceQueue(&lsqb;&amp;promise&rsqb;&lcub; promise&period;set&lowbar;value()&semi; &rcub;)&semi; promise&period;get&lowbar;future()&period;wait()&semi;
| xref:ValidationSignals/TransactionAddedToMempool.adoc[`TransactionAddedToMempool`] 
| Fire the TransactionAddedToMempool event to all subscribers&period;
| xref:ValidationSignals/TransactionRemovedFromMempool.adoc[`TransactionRemovedFromMempool`] 
| Fire the TransactionRemovedFromMempool event to all subscribers&period;
| xref:ValidationSignals/UnregisterAllValidationInterfaces.adoc[`UnregisterAllValidationInterfaces`] 
| Unregister all subscribers
| xref:ValidationSignals/UnregisterSharedValidationInterface.adoc[`UnregisterSharedValidationInterface`] 
| Unregister subscriber
| xref:ValidationSignals/UnregisterValidationInterface.adoc[`UnregisterValidationInterface`] 
| Unregister subscriber&period; DEPRECATED&period; This is not safe to use when the RPC server or main message handler thread is running&period;
| xref:ValidationSignals/UpdatedBlockTip.adoc[`UpdatedBlockTip`] 
| Fire the UpdatedBlockTip event to all subscribers&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
