~mzanetti/+junk/ubtd

« back to all changes in this revision

Viewing changes to app/transfer.h

  • Committer: Michael Zanetti
  • Date: 2016-04-14 23:34:10 UTC
  • Revision ID: michael.zanetti@canonical.com-20160414233410-17jg7ez3w1qc5e16
make it work, polish a bit, 0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
#define TRANSFER_H
3
3
 
4
4
#include <QObject>
 
5
#include <QDBusInterface>
5
6
 
6
7
class Transfer : public QObject
7
8
{
8
9
    Q_OBJECT
 
10
    Q_ENUMS(Status)
9
11
    Q_PROPERTY(QString filename READ filename NOTIFY filenameChanged)
10
12
    Q_PROPERTY(QString filePath READ filePath NOTIFY filePathChanged)
11
13
    Q_PROPERTY(qint32 total READ total NOTIFY totalChanged)
12
14
    Q_PROPERTY(qint32 transferred READ transferred NOTIFY transferredChanged)
13
 
    Q_PROPERTY(bool completed READ completed NOTIFY completedChanged)
14
 
    Q_PROPERTY(bool success READ success NOTIFY completedChanged)
 
15
    Q_PROPERTY(Status status READ status NOTIFY statusChanged)
15
16
 
16
17
public:
17
 
    explicit Transfer(const QString &path, const QString &filePath, const QString &filename, QObject *parent = 0);
 
18
    enum Status {
 
19
        StatusQueued,
 
20
        StatusActive,
 
21
        StatusSuspended,
 
22
        StatusComplete,
 
23
        StatusError
 
24
    };
 
25
 
 
26
    explicit Transfer(const QString &path, const QString &filePath, QObject *parent = 0);
18
27
 
19
28
    QString path() const;
20
29
    void move(const QString &newFilePath);
22
31
    QString filename() const;
23
32
    QString filePath() const;
24
33
 
25
 
    void setStarted();
26
 
    void setCompleted(bool success);
27
 
 
28
 
    qint32 total() const;
29
 
    qint32 transferred() const;
30
 
 
31
 
    bool completed() const;
32
 
    bool success() const;
 
34
    quint64 total() const;
 
35
    quint64 transferred() const;
 
36
 
 
37
    Status status() const;
33
38
 
34
39
signals:
35
40
    void filenameChanged();
36
41
    void filePathChanged();
37
42
    void totalChanged();
38
43
    void transferredChanged();
39
 
    void completedChanged();
 
44
    void statusChanged();
 
45
 
 
46
private:
 
47
    QVariant fetchProperty(const QString &propertyName) const;
 
48
    static Status statusStringToStatus(const QString &statusString);
40
49
 
41
50
private slots:
42
 
    void progress(qint32 total, qint32 transferred);
 
51
    void propertiesChanged(const QString &interface, const QVariantMap &changedProperties, const QStringList &invalidatedProperties);
43
52
 
44
53
private:
 
54
    QDBusInterface *m_iface;
45
55
    QString m_path;
46
56
    QString m_filePath;
47
57
    QString m_filename;
48
 
    qint32 m_total;
49
 
    qint32 m_transferred;
50
 
    bool m_completed;
51
 
    bool m_success;
 
58
    qint64 m_total;
 
59
    qint64 m_transferred;
 
60
    Status m_status;
52
61
};
53
62
 
54
63
#endif // TRANSFER_H