Mercurial > hg > bitcoin
view src/qt/clientmodel.h @ 2673:eb323c3694cb draft
add client startup time as an entry to debug.log (note: logged time in debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString
author | Philip Kaufmann <phil.kaufmann@t-online.de> |
---|---|
date | Mon, 21 May 2012 23:05:54 +0200 |
parents | 60b19c042950 |
children | 627fdda97160 |
line wrap: on
line source
#ifndef CLIENTMODEL_H #define CLIENTMODEL_H #include <QObject> class OptionsModel; class AddressTableModel; class TransactionTableModel; class CWallet; QT_BEGIN_NAMESPACE class QDateTime; class QTimer; QT_END_NAMESPACE /** Model for Bitcoin network client. */ class ClientModel : public QObject { Q_OBJECT public: explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0); ~ClientModel(); OptionsModel *getOptionsModel(); int getNumConnections() const; int getNumBlocks() const; int getNumBlocksAtStartup(); QDateTime getLastBlockDate() const; //! Return true if client connected to testnet bool isTestNet() const; //! 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 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 cachedNumBlocks; int cachedNumBlocksOfPeers; int numBlocksAtStartup; QTimer *pollTimer; void subscribeToCoreSignals(); void unsubscribeFromCoreSignals(); signals: void numConnectionsChanged(int count); void numBlocksChanged(int count, int countOfPeers); //! Asynchronous error notification void error(const QString &title, const QString &message, bool modal); public slots: void updateTimer(); void updateNumConnections(int numConnections); void updateAlert(const QString &hash, int status); }; #endif // CLIENTMODEL_H