aboutsummaryrefslogtreecommitdiff
path: root/src/qt/clientmodel.h
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2011-09-26 06:05:11 -0700
committerGavin Andresen <gavinandresen@gmail.com>2011-09-26 06:05:11 -0700
commitf7f2a36925bb560363f691fc3ca3dec83830dd15 (patch)
treec09327d910abe4e7947c53dcbb5f15b01ab194c1 /src/qt/clientmodel.h
parentf8937b2d3bb545a0a6ff78031ce3cdcb3208ecbe (diff)
parent0465c41c847ddee7eeb5caefb164149400ff8395 (diff)
downloadbitcoin-f7f2a36925bb560363f691fc3ca3dec83830dd15.tar.xz
Merge pull request #521 from laanwj/qt
Qt GUI
Diffstat (limited to 'src/qt/clientmodel.h')
-rw-r--r--src/qt/clientmodel.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h
new file mode 100644
index 0000000000..c68fb0f035
--- /dev/null
+++ b/src/qt/clientmodel.h
@@ -0,0 +1,60 @@
+#ifndef CLIENTMODEL_H
+#define CLIENTMODEL_H
+
+#include <QObject>
+
+class OptionsModel;
+class AddressTableModel;
+class TransactionTableModel;
+class CWallet;
+
+QT_BEGIN_NAMESPACE
+class QDateTime;
+QT_END_NAMESPACE
+
+// Model for Bitcoin network client
+class ClientModel : public QObject
+{
+ Q_OBJECT
+public:
+ explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0);
+
+ 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;
+
+ QString formatFullVersion() const;
+
+private:
+ OptionsModel *optionsModel;
+
+ int cachedNumConnections;
+ int cachedNumBlocks;
+
+ int numBlocksAtStartup;
+
+signals:
+ void numConnectionsChanged(int count);
+ void numBlocksChanged(int count);
+
+ // Asynchronous error notification
+ void error(const QString &title, const QString &message);
+
+public slots:
+
+private slots:
+ void update();
+};
+
+#endif // CLIENTMODEL_H