move getTransactionFee to OptionsModel
[novacoin.git] / gui / include / clientmodel.h
1 #ifndef CLIENTMODEL_H
2 #define CLIENTMODEL_H
3
4 #include <QObject>
5 class OptionsModel;
6
7 class ClientModel : public QObject
8 {
9     Q_OBJECT
10 public:
11     explicit ClientModel(QObject *parent = 0);
12
13     enum StatusCode
14     {
15         OK,
16         InvalidAmount,
17         InvalidAddress,
18         AmountExceedsBalance,
19         AmountWithFeeExceedsBalance,
20         Aborted,
21         MiscError
22     };
23
24     OptionsModel *getOptionsModel();
25
26     qint64 getBalance();
27     QString getAddress();
28     int getNumConnections();
29     int getNumBlocks();
30     int getNumTransactions();
31
32     StatusCode sendCoins(const QString &payTo, qint64 payAmount);
33 private:
34     OptionsModel *options_model;
35
36 signals:
37     void balanceChanged(qint64 balance);
38     void addressChanged(const QString &address);
39     void numConnectionsChanged(int count);
40     void numBlocksChanged(int count);
41     void numTransactionsChanged(int count);
42     /* Asynchronous error notification */
43     void error(const QString &title, const QString &message);
44
45 public slots:
46
47 private slots:
48     void update();
49 };
50
51 #endif // CLIENTMODEL_H