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
{
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);