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_SYSTEMIMAGE_H
20
#define MOCK_SYSTEMIMAGE_H
25
#include <QVariantMap>
27
class MockSystemImage : public QObject
30
Q_PROPERTY(int failuresBeforeWarning READ failuresBeforeWarning
31
NOTIFY failuresBeforeWarningChanged)
32
Q_PROPERTY(bool checkingForUpdates READ checkingForUpdates
33
NOTIFY checkingForUpdatesChanged)
34
Q_PROPERTY(int currentBuildNumber READ currentBuildNumber
35
NOTIFY currentBuildNumberChanged)
36
Q_PROPERTY(int targetBuildNumber READ targetBuildNumber
37
NOTIFY targetBuildNumberChanged)
38
Q_PROPERTY(int downloadMode READ downloadMode WRITE setDownloadMode
39
NOTIFY downloadModeChanged)
40
Q_PROPERTY(QString versionTag READ versionTag
41
NOTIFY versionTagChanged)
43
explicit MockSystemImage(QObject *parent = nullptr)
45
~MockSystemImage() {};
47
bool checkingForUpdates() const;
49
void setDownloadMode(const int &downloadMode);
50
int failuresBeforeWarning() { return 3; };
51
int currentBuildNumber() const;
52
int targetBuildNumber() const;
53
QString versionTag() const;
55
Q_INVOKABLE void checkForUpdate();
56
Q_INVOKABLE void downloadUpdate();
57
Q_INVOKABLE void forceAllowGSMDownload();
58
Q_INVOKABLE void applyUpdate();
59
Q_INVOKABLE QString cancelUpdate();
60
Q_INVOKABLE QString pauseDownload();
61
Q_INVOKABLE bool checkTarget() const;
63
Q_INVOKABLE void mockTargetBuildNumber(const uint &target); // mock only
64
Q_INVOKABLE void mockCurrentBuildNumber(const uint ¤t); // mock only
65
Q_INVOKABLE void mockUpdateFailed(const int &consecutiveFailureCount,
66
const QString &lastReason); // mock only
67
Q_INVOKABLE void mockVersionTag(const QString &tag); // mock only
68
Q_INVOKABLE bool called(const QString &functionName); // mock only
69
Q_INVOKABLE void reset(); // mock only
72
void versionTagChanged();
73
void downloadModeChanged();
74
void updateDownloaded();
75
void checkingForUpdatesChanged();
76
void currentBuildNumberChanged();
77
void targetBuildNumberChanged();
78
void failuresBeforeWarningChanged();
79
void updateFailed(const int &consecutiveFailureCount,
80
const QString &lastReason);
82
bool m_checkingForUpdates = false;
83
int m_currentBuildNumber = 0;
84
int m_targetBuildNumber = -1;
85
int m_downloadMode = -1;
86
QString m_versionTag = QString::null;
91
#endif // MOCK_SYSTEMIMAGE_H