3#include <QtCore/QDateTime>
5#include <QtCore/QMutex>
6#include <QtCore/QObject>
7#include <QtCore/QQueue>
8#include <QtCore/QString>
9#include <QtNetwork/QNetworkReply>
13class QNetworkAccessManager;
18 Q_MOC_INCLUDE(
"QGCTile.h")
44 Q_PROPERTY(quint64
id READ
id CONSTANT)
59 const QString &
name()
const {
return _name; }
60 const QString &
mapTypeStr()
const {
return _mapTypeStr; }
84 quint64
id()
const {
return _id; }
85 const QString &
type()
const {
return _type; }
86 bool complete()
const {
return (_defaultSet || (_totalTileCount <= _savedTileCount)); }
136 void _tileListFetched(
const QQueue<QGCTile*> &tiles);
137 void _networkReplyFinished();
138 void _networkReplyError(QNetworkReply::NetworkError
error);
141 void _prepareDownload();
142 void _doneWithDownload();
146 QString _type = QStringLiteral(
"Invalid");
148 double _topleftLat = 0.;
149 double _topleftLon = 0.;
150 double _bottomRightLat = 0.;
151 double _bottomRightLon = 0.;
152 quint32 _totalTileCount = 0;
153 quint64 _totalTileSize = 0;
154 quint32 _uniqueTileCount = 0;
155 quint64 _uniqueTileSize = 0;
156 quint32 _savedTileCount = 0;
157 quint64 _savedTileSize = 0;
158 quint32 _errorCount = 0;
161 bool _defaultSet =
false;
162 bool _deleting =
false;
163 bool _downloading =
false;
164 bool _noMoreTiles =
false;
165 bool _batchRequested =
false;
166 bool _selected =
false;
167 bool _cancelPending =
false;
168 QDateTime _creationDate;
170 QHash<QString, QNetworkReply*> _replies;
171 QMutex _repliesMutex;
172 QQueue<QGCTile*> _tilesToDownload;
174 QNetworkAccessManager *_networkManager =
nullptr;
176 static constexpr uint32_t kTileBatchSize = 256;
Q_INVOKABLE void resumeDownloadTask()
void setTotalTileCount(quint32 num)
QString uniqueTileCountStr() const
quint64 totalTilesSize() const
double bottomRightLon() const
void setErrorCount(quint32 count)
void setName(const QString &name)
double topleftLat() const
void setUniqueTileCount(quint32 num)
void setTotalTileSize(quint64 size)
void uniqueTileCountChanged()
void setSavedTileCount(quint32 num)
void setMinZoom(int zoom)
void setSavedTileSize(quint64 size)
void setMaxZoom(int zoom)
void setTopleftLat(double lat)
QString savedTileCountStr() const
const QString & type() const
QString totalTileCountStr() const
QString downloadStatus() const
double topleftLon() const
Q_INVOKABLE void cancelDownloadTask()
void setDefaultSet(bool def)
quint32 savedTileCount() const
void setDownloading(bool down)
void setDeleting(bool del)
quint32 uniqueTileCount() const
quint32 errorCount() const
void uniqueTileSizeChanged()
void totalTileCountChanged()
quint32 totalTileCount() const
Q_INVOKABLE void createDownloadTask()
const QString & name() const
quint64 uniqueTileSize() const
void setBottomRightLon(double lon)
quint64 savedTileSize() const
void setType(const QString &type)
void downloadingChanged()
const QString & mapTypeStr() const
void savedTileSizeChanged()
void savedTileCountChanged()
QString savedTileSizeStr() const
QString uniqueTileSizeStr() const
QString errorCountStr() const
void setBottomRightLat(double lat)
const QDateTime & creationDate() const
void setSelected(bool sel)
void setCreationDate(const QDateTime &date)
void setManager(QGCMapEngineManager *mgr)
void setMapTypeStr(const QString &typeStr)
double bottomRightLat() const
void totalTilesSizeChanged()
QString totalTilesSizeStr() const
void setUniqueTileSize(quint64 size)
void setTopleftLon(double lon)