aboutsummaryrefslogtreecommitdiff
path: root/src/qt/clientmodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/clientmodel.h')
-rw-r--r--src/qt/clientmodel.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h
new file mode 100644
index 0000000000..09d1fc921e
--- /dev/null
+++ b/src/qt/clientmodel.h
@@ -0,0 +1,61 @@
+#ifndef CLIENTMODEL_H
+#define CLIENTMODEL_H
+
+#include <QObject>
+
+class OptionsModel;
+class AddressTableModel;
+class TransactionTableModel;
+
+class ClientModel : public QObject
+{
+ Q_OBJECT
+public:
+ explicit ClientModel(QObject *parent = 0);
+
+ enum StatusCode
+ {
+ OK,
+ InvalidAmount,
+ InvalidAddress,
+ AmountExceedsBalance,
+ AmountWithFeeExceedsBalance,
+ Aborted,
+ MiscError
+ };
+
+ OptionsModel *getOptionsModel();
+ AddressTableModel *getAddressTableModel();
+ TransactionTableModel *getTransactionTableModel();
+
+ qint64 getBalance();
+ QString getAddress();
+ int getNumConnections();
+ int getNumBlocks();
+ int getNumTransactions();
+
+ /* Set default address */
+ void setAddress(const QString &defaultAddress);
+ /* Send coins */
+ StatusCode sendCoins(const QString &payTo, qint64 payAmount);
+private:
+ OptionsModel *optionsModel;
+ AddressTableModel *addressTableModel;
+ TransactionTableModel *transactionTableModel;
+
+signals:
+ void balanceChanged(qint64 balance);
+ void addressChanged(const QString &address);
+ void numConnectionsChanged(int count);
+ void numBlocksChanged(int count);
+ void numTransactionsChanged(int count);
+ /* Asynchronous error notification */
+ void error(const QString &title, const QString &message);
+
+public slots:
+
+private slots:
+ void update();
+};
+
+#endif // CLIENTMODEL_H