1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // ECOin - Copyright (c) - 2014/2021 - GPLv3 - epsylon@riseup.net (https://03c8.net)
- #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
- 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
|