X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fclientmodel.h;h=c8d30f620562bacd5b35e97b470a8d6da48962b3;hb=dfb7a23711b260ff9232f9d878b82804eac19c4c;hp=845ad10decc4dba4f5c4ed3623a0db3eb63c4c6a;hpb=3b59297b36f795e7cdaaab74daefa89cee6dd24d;p=novacoin.git diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 845ad10..c8d30f6 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -10,48 +10,69 @@ class CWallet; QT_BEGIN_NAMESPACE class QDateTime; +class QTimer; QT_END_NAMESPACE -// Interface to Bitcoin network client +/** Model for Bitcoin network client. */ class ClientModel : public QObject { Q_OBJECT public: explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0); + ~ClientModel(); OptionsModel *getOptionsModel(); + double getPoSKernelPS(); + double getDifficulty(bool fProofofStake); + int getNumConnections() const; int getNumBlocks() const; + int getNumBlocksAtStartup(); + + quint64 getTotalBytesRecv() const; + quint64 getTotalBytesSent() const; QDateTime getLastBlockDate() const; - // Return true if client connected to testnet + //! Return true if client connected to testnet bool isTestNet() const; - // Return true if core is doing initial block download + //! Return true if core is doing initial block download bool inInitialBlockDownload() const; - // Return conservative estimate of total number of blocks, or 0 if unknown - int getTotalBlocksEstimate() const; + //! Return conservative estimate of total number of blocks, or 0 if unknown + int getNumBlocksOfPeers() const; + //! Return warnings to be displayed in status bar + QString getStatusBarWarnings() const; QString formatFullVersion() const; + QString formatBuildDate() const; + QString clientName() const; + QString formatClientStartupTime() const; private: OptionsModel *optionsModel; - int cachedNumConnections; int cachedNumBlocks; + int cachedNumBlocksOfPeers; + + int numBlocksAtStartup; + QTimer *pollTimer; + + void subscribeToCoreSignals(); + void unsubscribeFromCoreSignals(); signals: void numConnectionsChanged(int count); - void numBlocksChanged(int count); + void numBlocksChanged(int count, int countOfPeers); + void bytesChanged(quint64 totalBytesIn, quint64 totalBytesOut); - // Asynchronous error notification - void error(const QString &title, const QString &message); + //! Asynchronous error notification + void error(const QString &title, const QString &message, bool modal); public slots: - -private slots: - void update(); + void updateTimer(); + void updateNumConnections(int numConnections); + void updateAlert(const QString &hash, int status); }; #endif // CLIENTMODEL_H