version 2.21.1

Map download API
mapviewer download feature
This commit is contained in:
2023-11-11 23:01:21 +03:00
parent 9f3a54bbb9
commit d200dbdab5
14 changed files with 373 additions and 77 deletions

View File

@@ -20,14 +20,32 @@ OSMDownloader::~OSMDownloader() {
}
void OSMDownloader::queueTile(OSM::TileIndex index) {
bool OSMDownloader::queueTile(OSM::TileIndex index, bool force) {
// auto hash = tile.hash();
bool ret = false;
cond_mutex.lock();
if (!queue.contains(index) && !in_progress.contains(index.hash())) {
if ((!queue.contains(index) && !in_progress.contains(index.hash())) || force) {
queue.enqueue(index);
cond.wakeOne();
ret = true;
}
cond_mutex.unlock();
return ret;
}
void OSMDownloader::queueTiles(QList<OSM::TileIndex> indeces) {
cond_mutex.lock();
queue << indeces;
cond.wakeOne();
cond_mutex.unlock();
}
void OSMDownloader::clearQueue() {
cond_mutex.lock();
queue.clear();
cond_mutex.unlock();
}
@@ -51,6 +69,7 @@ void OSMDownloader::requestTile(OSM::TileIndex index) {
cond_mutex.lock();
in_progress.remove(index.hash());
cond_mutex.unlock();
emit tileDone();
});
}