2
* This file is part of system-settings
4
* Copyright (C) 2016 Canonical Ltd.
6
* This program is free software: you can redistribute it and/or modify it
7
* under the terms of the GNU General Public License version 3, as published
8
* by the Free Software Foundation.
10
* This program is distributed in the hope that it will be useful, but
11
* WITHOUT ANY WARRANTY; without even the implied warranties of
12
* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
13
* PURPOSE. See the GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License along
16
* with this program. If not, see <http://www.gnu.org/licenses/>.
19
#ifndef MOCK_SINGLEDOWNLOAD_H
20
#define MOCK_SINGLEDOWNLOAD_H
22
#include "MockMetadata.h"
26
class MockSingleDownload : public QObject
29
Q_PROPERTY(bool autoStart READ autoStart WRITE setAutoStart)
30
Q_PROPERTY(QString errorMessage READ errorMessage NOTIFY errorChanged)
31
Q_PROPERTY(bool isCompleted READ isCompleted NOTIFY isCompletedChanged)
32
Q_PROPERTY(bool downloadInProgress READ downloadInProgress NOTIFY downloadInProgressChanged)
33
Q_PROPERTY(bool allowMobileDownload READ allowMobileDownload WRITE setAllowMobileDownload NOTIFY allowMobileDownloadChanged)
34
Q_PROPERTY(int progress READ progress NOTIFY progressChanged)
35
Q_PROPERTY(bool downloading READ downloading NOTIFY downloadingChanged)
36
Q_PROPERTY(QString downloadId READ downloadId NOTIFY downloadIdChanged)
37
Q_PROPERTY(QVariantMap headers READ headers WRITE setHeaders NOTIFY headersChanged)
38
Q_PROPERTY(MockMetadata * metadata READ metadata WRITE setMetadata NOTIFY metadataChanged)
39
Q_PROPERTY(QString hash READ hash WRITE setHash NOTIFY hashChanged)
40
Q_PROPERTY(QString algorithm READ algorithm WRITE setAlgorithm NOTIFY algorithmChanged)
43
explicit MockSingleDownload(QObject *parent = 0);
45
Q_INVOKABLE void start();
46
Q_INVOKABLE void pause();
47
Q_INVOKABLE void resume();
48
Q_INVOKABLE void cancel();
49
Q_INVOKABLE void download(QString url);
52
bool isCompleted() const;
53
QString errorMessage() const;
54
bool allowMobileDownload() const;
56
bool downloading() const;
57
bool downloadInProgress() const;
58
bool autoStart() const;
59
QString downloadId() const;
60
QVariantMap headers() const;
61
MockMetadata * metadata();
63
QString algorithm() const;
64
void setAllowMobileDownload(bool value);
65
void setHeaders(QVariantMap headers);
66
void setMetadata(const MockMetadata * metadata);
67
void setAutoStart(bool value);
68
void setHash(const QString &value);
69
void setAlgorithm(const QString &value);
71
Q_INVOKABLE void mockErrorMessage(const QString &error); // mock only
72
Q_INVOKABLE void mockFinished(); // mock only
73
Q_INVOKABLE void mockProgress(const int &progress); // mock only
74
Q_INVOKABLE void mockDownloading(const bool downloading); // mock only
75
Q_INVOKABLE void mockPause(); // mock only
76
Q_INVOKABLE void mockResume(); // mock only
77
Q_INVOKABLE void mockProcess(); // mock only
78
Q_INVOKABLE void mockStart(); // mock only
81
void isCompletedChanged();
82
void allowMobileDownloadChanged();
83
void progressChanged();
84
void downloadingChanged();
85
void downloadInProgressChanged();
86
void downloadIdChanged();
87
void headersChanged();
88
void metadataChanged();
90
void algorithmChanged();
92
void canceled(bool success);
93
void finished(const QString& path);
94
void paused(bool success);
95
void processing(const QString &path);
96
void progressReceived(qulonglong received, qulonglong total);
97
void resumed(bool success);
98
void started(bool success);
102
QString m_errorMessage = QString::null;
103
bool m_downloading = false;
104
bool m_completed = false;
106
MockMetadata * m_metadata;
107
QVariantMap m_headers;
108
bool m_autostart = false;
109
QString m_hash = QString::null;
110
QString m_algorithm = QString::null;
113
#endif // MOCK_SINGLEDOWNLOAD_H