update core to d0d80170a2ca73004e08fb85007fe055cbf4e411 (CWallet class)
[novacoin.git] / src / qt / clientmodel.h
index 09d1fc9..9c23a14 100644 (file)
@@ -6,12 +6,13 @@
 class OptionsModel;
 class AddressTableModel;
 class TransactionTableModel;
+class CWallet;
 
 class ClientModel : public QObject
 {
     Q_OBJECT
 public:
-    explicit ClientModel(QObject *parent = 0);
+    explicit ClientModel(CWallet *wallet, QObject *parent = 0);
 
     enum StatusCode
     {
@@ -28,24 +29,27 @@ public:
     AddressTableModel *getAddressTableModel();
     TransactionTableModel *getTransactionTableModel();
 
-    qint64 getBalance();
-    QString getAddress();
-    int getNumConnections();
-    int getNumBlocks();
-    int getNumTransactions();
+    qint64 getBalance() const;
+    int getNumConnections() const;
+    int getNumBlocks() const;
+    int getNumTransactions() 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 getTotalBlocksEstimate() const;
 
-    /* Set default address */
-    void setAddress(const QString &defaultAddress);
     /* Send coins */
-    StatusCode sendCoins(const QString &payTo, qint64 payAmount);
+    StatusCode sendCoins(const QString &payTo, qint64 payAmount, const QString &addToAddressBookAs=QString());
 private:
+    CWallet *wallet;
+
     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);