qtui.h/noui.h interface cleanup
[novacoin.git] / src / qt / clientmodel.h
index 09d1fc9..6366b4d 100644 (file)
@@ -6,51 +6,53 @@
 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(QObject *parent = 0);
-
-    enum StatusCode
-    {
-        OK,
-        InvalidAmount,
-        InvalidAddress,
-        AmountExceedsBalance,
-        AmountWithFeeExceedsBalance,
-        Aborted,
-        MiscError
-    };
+    explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0);
 
     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);
+
+    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;
+
 private:
     OptionsModel *optionsModel;
-    AddressTableModel *addressTableModel;
-    TransactionTableModel *transactionTableModel;
+
+    int cachedNumConnections;
+    int cachedNumBlocks;
+    QString cachedStatusBar;
+
+    int numBlocksAtStartup;
 
 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);
+
+    //! Asynchronous error notification
+    void error(const QString &title, const QString &message, bool modal);
 
 public slots: