5 #ifndef BITCOIN_QT_CLIENTMODEL_H
6 #define BITCOIN_QT_CLIENTMODEL_H
51 QObject *parent =
nullptr);
91 std::unique_ptr<interfaces::Handler>
93 std::unique_ptr<interfaces::Handler>
107 double verification_progress,
SyncType synctype);
114 double nVerificationProgress,
SyncType header,
Qt model providing information about connected peers, similar to the "getpeerinfo" RPC call.
The block chain is a tree shaped structure starting with the genesis block at the root,...
Model for Bitcoin network client.
std::unique_ptr< interfaces::Handler > m_handler_banned_list_changed
void bytesChanged(quint64 totalBytesIn, quint64 totalBytesOut)
void showProgress(const QString &title, int nProgress)
QString blocksDir() const
QString getStatusBarWarnings() const
Return warnings to be displayed in status bar.
int getHeaderTipHeight() const
std::unique_ptr< interfaces::Handler > m_handler_show_progress
std::atomic< int64_t > cachedBestHeaderTime
std::unique_ptr< interfaces::Handler > m_handler_notify_alert_changed
interfaces::Node & m_node
interfaces::Node & node() const
PeerTableModel * getPeerTableModel()
BlockHash m_cached_tip_blocks GUARDED_BY(m_cached_tip_mutex)
std::atomic< int > cachedBestHeaderHeight
BlockHash getBestBlockHash() EXCLUSIVE_LOCKS_REQUIRED(!m_cached_tip_mutex)
int getNumConnections(NumConnections flags=CONNECTIONS_ALL) const
Return number of connections, default is in- and outbound (total)
void message(const QString &title, const QString &message, unsigned int style)
Fired when a message should be reported to the user.
void numConnectionsChanged(int count)
int64_t getHeaderTipTime() const
std::unique_ptr< interfaces::Handler > m_handler_notify_block_tip
QString formatClientStartupTime() const
enum BlockSource getBlockSource() const
Returns enum BlockSource of the current importing/syncing state.
ClientModel(interfaces::Node &node, OptionsModel *optionsModel, QObject *parent=nullptr)
void TipChanged(SynchronizationState sync_state, interfaces::BlockTip tip, double verification_progress, SyncType synctype)
std::unique_ptr< interfaces::Handler > m_handler_notify_num_connections_changed
std::unique_ptr< interfaces::Handler > m_handler_notify_network_active_changed
OptionsModel * optionsModel
BanTableModel * banTableModel
QThread *const m_thread
A thread to interact with m_node asynchronously.
std::unique_ptr< interfaces::Handler > m_handler_notify_header_tip
BanTableModel * getBanTableModel()
void unsubscribeFromCoreSignals()
void numBlocksChanged(int count, const QDateTime &blockDate, double nVerificationProgress, SyncType header, SynchronizationState sync_state)
void alertsChanged(const QString &warnings)
std::atomic< int > m_cached_num_blocks
OptionsModel * getOptionsModel()
QString formatFullVersion() const
PeerTableModel * peerTableModel
bool getProxyInfo(std::string &ip_port) const
QString formatSubVersion() const
void mempoolSizeChanged(long count, size_t mempoolSizeInBytes)
bool isReleaseVersion() const
void subscribeToCoreSignals()
void networkActiveChanged(bool networkActive)
Interface from Qt to configuration data structure for Bitcoin client.
Qt model providing information about connected peers, similar to the "getpeerinfo" RPC call.
Top-level interface for a bitcoin node (bitcoind process).
Implement std::hash so RCUPtr can be used as a key for maps or sets.
A BlockHash is a unqiue identifier for a block.
Block tip (could be a header or not, depends on the subscribed signal).
#define EXCLUSIVE_LOCKS_REQUIRED(...)
SynchronizationState
Current sync state passed to tip changed callbacks.