@@ -88,16 +88,28 @@ class ImageWriter : public QObject
88
88
Q_INVOKABLE void beginOSListFetch ();
89
89
90
90
/* * Set the HW filter, for a filtered view of the OS list */
91
- Q_INVOKABLE void setHWFilterList (const QByteArray &json, const bool &inclusive, const bool &isModelZero);
91
+ Q_INVOKABLE void setHWFilterList (const QByteArray &json, const bool &inclusive);
92
+
93
+ /* Set the features supported by the hardware, for a filtered view of options that require certain features beeing supported by the hardware. */
94
+ Q_INVOKABLE void setHWSupportedFeaturesList (const QByteArray &json);
95
+
96
+ /* Set the features supported by the hardware, for a filtered view of options that require certain features beeing supported by the software. */
97
+ Q_INVOKABLE void setSWSupportedFeaturesList (const QByteArray &json);
92
98
93
99
/* Get the HW filter list */
94
100
Q_INVOKABLE QJsonArray getHWFilterList ();
95
101
96
102
/* Get if the HW filter is in inclusive mode */
97
103
Q_INVOKABLE bool getHWFilterListInclusive ();
98
104
99
- /* Get if HW filter tags are from a Pi Zero model */
100
- Q_INVOKABLE bool getHWFilterIsModelZero ();
105
+ /* Get if both hard and software support a certain feature */
106
+ Q_INVOKABLE bool andSupportedFeatures (const QString &feature);
107
+
108
+ /* Check if the hardware supports a certain feature. */
109
+ Q_INVOKABLE bool checkHWFeatureSupport (const QString &feature);
110
+
111
+ /* Check if the software supports a certain feature. */
112
+ Q_INVOKABLE bool checkSWFeatureSupport (const QString &feature);
101
113
102
114
/* Set custom cache file */
103
115
void setCustomCacheFile (const QString &cacheFile, const QByteArray &sha256);
@@ -196,10 +208,8 @@ protected slots:
196
208
void fillSubLists (QJsonArray &topLevel);
197
209
QNetworkAccessManager _networkManager;
198
210
QJsonDocument _completeOsList;
199
- QJsonArray _deviceFilter;
211
+ QJsonArray _deviceFilter, _hwSupportedFeatures, _swSupportedFeatures ;
200
212
bool _deviceFilterIsInclusive;
201
- /* As there is no distinction between normal pi models and zeros (in the tags), this flag can be used to differentiate */
202
- bool _isModelZero;
203
213
204
214
protected:
205
215
QUrl _src, _repo;
0 commit comments