version 2.21.1
Map download API mapviewer download feature
This commit is contained in:
@@ -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();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user