QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QGCMapTasks.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QObject>
4#include <QtCore/QQueue>
5#include <QtCore/QString>
6
7#include "QGCMapTaskBase.h"
8#include "QGCTileCacheTypes.h"
9#include "QGCTile.h"
10
11struct QGCCacheTile;
13
14//-----------------------------------------------------------------------------
15
17{
18 Q_OBJECT
19
20public:
21 explicit QGCFetchTileSetTask(QObject *parent = nullptr)
23 {}
25
27 {
28 emit tileSetFetched(tileSet);
29 }
30
31signals:
33};
34
35//-----------------------------------------------------------------------------
36
38{
39 Q_OBJECT
40
41public:
42 explicit QGCCreateTileSetTask(QGCCachedTileSet *tileSet, QObject *parent = nullptr)
44 , m_tileSet(tileSet)
45 , m_saved(false)
46 {}
48
49 QGCCachedTileSet *tileSet() { return m_tileSet; }
50
52 {
53 m_saved = true;
54 emit tileSetSaved(m_tileSet);
55 }
56
57signals:
59
60private:
61 QGCCachedTileSet* const m_tileSet = nullptr;
62 bool m_saved = false;
63};
64
65//-----------------------------------------------------------------------------
66
68{
69 Q_OBJECT
70
71public:
72 explicit QGCFetchTileTask(const QString &hash, QObject *parent = nullptr)
74 , m_hash(hash)
75 {}
76 ~QGCFetchTileTask() = default;
77
79 {
80 emit tileFetched(tile);
81 }
82
83 QString hash() const { return m_hash; }
84
85signals:
87
88private:
89 const QString m_hash;
90};
91
92//-----------------------------------------------------------------------------
93
95{
96 Q_OBJECT
97
98public:
99 explicit QGCSaveTileTask(QGCCacheTile *tile, QObject *parent = nullptr)
101 , m_tile(tile)
102 {}
104
105 const QGCCacheTile *tile() const { return m_tile; }
106 QGCCacheTile *tile() { return m_tile; }
107
108private:
109 QGCCacheTile* const m_tile = nullptr;
110};
111
112//-----------------------------------------------------------------------------
113
115{
116 Q_OBJECT
117
118public:
119 QGCGetTileDownloadListTask(quint64 setID, int count, QObject *parent = nullptr)
121 , m_setID(setID)
122 , m_count(count)
123 {}
125
126 quint64 setID() const { return m_setID; }
127 int count() const { return m_count; }
128
129 void setTileListFetched(const QQueue<QGCTile*> &tiles)
130 {
131 emit tileListFetched(tiles);
132 }
133
134signals:
135 void tileListFetched(QQueue<QGCTile*> tiles);
136
137private:
138 const quint64 m_setID = 0;
139 const int m_count = 0;
140};
141
142//-----------------------------------------------------------------------------
143
145{
146 Q_OBJECT
147
148public:
149 QGCUpdateTileDownloadStateTask(quint64 setID, QGCTile::TileState state, const QString &hash, QObject *parent = nullptr)
151 , m_setID(setID)
152 , m_state(state)
153 , m_hash(hash)
154 {}
156
157 QString hash() const { return m_hash; }
158 quint64 setID() const { return m_setID; }
159 QGCTile::TileState state() const { return m_state; }
160
161private:
162 const quint64 m_setID = 0;
164 const QString m_hash;
165};
166
167//-----------------------------------------------------------------------------
168
170{
171 Q_OBJECT
172
173public:
174 explicit QGCDeleteTileSetTask(quint64 setID, QObject *parent = nullptr)
176 , m_setID(setID)
177 {}
179
180 quint64 setID() const { return m_setID; }
181
183 {
184 emit tileSetDeleted(m_setID);
185 }
186
187signals:
188 void tileSetDeleted(quint64 setID);
189
190private:
191 const quint64 m_setID = 0;
192};
193
194//-----------------------------------------------------------------------------
195
197{
198 Q_OBJECT
199
200public:
201 QGCRenameTileSetTask(quint64 setID, const QString &newName, QObject *parent = nullptr)
203 , m_setID(setID)
204 , m_newName(newName)
205 {}
207
208 quint64 setID() const { return m_setID; }
209 QString newName() const { return m_newName; }
210
211private:
212 const quint64 m_setID = 0;
213 const QString m_newName;
214};
215
216//-----------------------------------------------------------------------------
217
219{
220 Q_OBJECT
221
222public:
223 explicit QGCPruneCacheTask(quint64 amount, QObject *parent = nullptr)
225 , m_amount(amount)
226 {}
228
229 quint64 amount() const { return m_amount; }
230
232 {
233 emit pruned();
234 }
235
236signals:
237 void pruned();
238
239private:
240 const quint64 m_amount = 0;
241};
242
243//-----------------------------------------------------------------------------
244
246{
247 Q_OBJECT
248
249public:
250 explicit QGCResetTask(QObject *parent = nullptr)
251 : QGCMapTask(TaskType::taskReset, parent)
252 {}
253 ~QGCResetTask() = default;
254
256 {
257 emit resetCompleted();
258 }
259
260signals:
262};
263
264//-----------------------------------------------------------------------------
265
267{
268 Q_OBJECT
269
270public:
271 explicit QGCExportTileTask(const QList<TileSetRecord> &sets, const QString &path, QObject *parent = nullptr)
272 : QGCMapTask(TaskType::taskExport, parent)
273 , m_sets(sets)
274 , m_path(path)
275 {}
277
278 const QList<TileSetRecord> &sets() const { return m_sets; }
279 QString path() const { return m_path; }
280
282 {
283 emit actionCompleted();
284 }
285
286 void setProgress(int percentage)
287 {
288 emit actionProgress(percentage);
289 }
290
291signals:
293 void actionProgress(int percentage);
294
295private:
296 const QList<TileSetRecord> m_sets;
297 const QString m_path;
298};
299
300//-----------------------------------------------------------------------------
301
303{
304 Q_OBJECT
305
306public:
307 QGCImportTileTask(const QString &path, bool replace, QObject *parent = nullptr)
308 : QGCMapTask(TaskType::taskImport, parent)
309 , m_path(path)
310 , m_replace(replace)
311 {}
313
314 QString path() const { return m_path; }
315 bool replace() const { return m_replace; }
316 int progress() const { return m_progress; }
317
319 {
320 emit actionCompleted();
321 }
322
323 void setProgress(int percentage)
324 {
325 m_progress = percentage;
326 emit actionProgress(percentage);
327 }
328
329signals:
331 void actionProgress(int percentage);
332
333private:
334 const QString m_path;
335 const bool m_replace = false;
336 int m_progress = 0;
337};
338
339//-----------------------------------------------------------------------------
void tileSetSaved(QGCCachedTileSet *tileSet)
QGCCachedTileSet * tileSet()
Definition QGCMapTasks.h:49
QGCCreateTileSetTask(QGCCachedTileSet *tileSet, QObject *parent=nullptr)
Definition QGCMapTasks.h:42
~QGCDeleteTileSetTask()=default
QGCDeleteTileSetTask(quint64 setID, QObject *parent=nullptr)
quint64 setID() const
void tileSetDeleted(quint64 setID)
void setProgress(int percentage)
~QGCExportTileTask()=default
void actionProgress(int percentage)
QString path() const
void setExportCompleted()
const QList< TileSetRecord > & sets() const
QGCExportTileTask(const QList< TileSetRecord > &sets, const QString &path, QObject *parent=nullptr)
void setTileSetFetched(QGCCachedTileSet *tileSet)
Definition QGCMapTasks.h:26
~QGCFetchTileSetTask()=default
void tileSetFetched(QGCCachedTileSet *tileSet)
QGCFetchTileSetTask(QObject *parent=nullptr)
Definition QGCMapTasks.h:21
~QGCFetchTileTask()=default
QString hash() const
Definition QGCMapTasks.h:83
QGCFetchTileTask(const QString &hash, QObject *parent=nullptr)
Definition QGCMapTasks.h:72
void tileFetched(QGCCacheTile *tile)
void setTileFetched(QGCCacheTile *tile)
Definition QGCMapTasks.h:78
QGCGetTileDownloadListTask(quint64 setID, int count, QObject *parent=nullptr)
void setTileListFetched(const QQueue< QGCTile * > &tiles)
void tileListFetched(QQueue< QGCTile * > tiles)
~QGCGetTileDownloadListTask()=default
QGCImportTileTask(const QString &path, bool replace, QObject *parent=nullptr)
void setImportCompleted()
void actionProgress(int percentage)
bool replace() const
void setProgress(int percentage)
int progress() const
QString path() const
~QGCImportTileTask()=default
quint64 amount() const
~QGCPruneCacheTask()=default
QGCPruneCacheTask(quint64 amount, QObject *parent=nullptr)
~QGCRenameTileSetTask()=default
QString newName() const
QGCRenameTileSetTask(quint64 setID, const QString &newName, QObject *parent=nullptr)
quint64 setID() const
~QGCResetTask()=default
void resetCompleted()
QGCResetTask(QObject *parent=nullptr)
void setResetCompleted()
const QGCCacheTile * tile() const
QGCSaveTileTask(QGCCacheTile *tile, QObject *parent=nullptr)
Definition QGCMapTasks.h:99
QGCCacheTile * tile()
QGCUpdateTileDownloadStateTask(quint64 setID, QGCTile::TileState state, const QString &hash, QObject *parent=nullptr)
QGCTile::TileState state() const
TileState
Definition QGCTile.h:9
@ StatePending
Definition QGCTile.h:10