summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-14 10:56:51 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-06-14 11:25:45 -0700
commit9d3c4fbbb05d37802ebc15210b041392b4d48f15 (patch)
tree2f4638ebcff4cc50a08c73ed6587a53c7014bcf0 /platform
parent9dfcb95e4fe333922306eadd4df5cbde2f03a6c1 (diff)
downloadqtlocation-mapboxgl-9d3c4fbbb05d37802ebc15210b041392b4d48f15.tar.gz
[core] Push Source::url down to subclasses
Diffstat (limited to 'platform')
-rw-r--r--platform/default/mbgl/storage/offline_download.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/platform/default/mbgl/storage/offline_download.cpp b/platform/default/mbgl/storage/offline_download.cpp
index 932b8f3777..04aabeb04f 100644
--- a/platform/default/mbgl/storage/offline_download.cpp
+++ b/platform/default/mbgl/storage/offline_download.cpp
@@ -5,6 +5,7 @@
#include <mbgl/storage/response.hpp>
#include <mbgl/style/parser.hpp>
#include <mbgl/style/tile_source.hpp>
+#include <mbgl/style/sources/geojson_source.hpp>
#include <mbgl/text/glyph.hpp>
#include <mbgl/util/tile_cover.hpp>
#include <mbgl/util/mapbox.hpp>
@@ -110,10 +111,10 @@ OfflineRegionStatus OfflineDownload::getStatus() const {
result.requiredResourceCount += tileResources(source->type, source->tileSize, *tileSource->getTileset()).size();
} else {
result.requiredResourceCount += 1;
- optional<Response> sourceResponse = offlineDatabase.get(Resource::source(source->url));
+ optional<Response> sourceResponse = offlineDatabase.get(Resource::source(tileSource->getURL()));
if (sourceResponse) {
result.requiredResourceCount += tileResources(source->type, source->tileSize,
- *style::parseTileJSON(*sourceResponse->data, source->url, source->type, source->tileSize)).size();
+ *style::parseTileJSON(*sourceResponse->data, tileSource->getURL(), source->type, source->tileSize)).size();
} else {
result.requiredResourceCountIsPrecise = false;
}
@@ -121,11 +122,13 @@ OfflineRegionStatus OfflineDownload::getStatus() const {
break;
}
- case SourceType::GeoJSON:
- if (!source->url.empty()) {
+ case SourceType::GeoJSON: {
+ style::GeoJSONSource* geojsonSource = static_cast<style::GeoJSONSource*>(source.get());
+ if (!geojsonSource->getURL().empty()) {
result.requiredResourceCount += 1;
}
break;
+ }
case SourceType::Video:
case SourceType::Annotations:
@@ -154,7 +157,6 @@ void OfflineDownload::activateDownload() {
for (const auto& source : parser.sources) {
SourceType type = source->type;
uint16_t tileSize = source->tileSize;
- std::string url = source->url;
switch (type) {
case SourceType::Vector:
@@ -163,6 +165,7 @@ void OfflineDownload::activateDownload() {
if (tileSource->getTileset()) {
ensureTiles(type, tileSize, *tileSource->getTileset());
} else {
+ std::string url = tileSource->getURL();
status.requiredResourceCountIsPrecise = false;
requiredSourceURLs.insert(url);
@@ -178,11 +181,13 @@ void OfflineDownload::activateDownload() {
break;
}
- case SourceType::GeoJSON:
- if (!source->url.empty()) {
- ensureResource(Resource::source(source->url));
+ case SourceType::GeoJSON: {
+ style::GeoJSONSource* geojsonSource = static_cast<style::GeoJSONSource*>(source.get());
+ if (!geojsonSource->getURL().empty()) {
+ ensureResource(Resource::source(geojsonSource->getURL()));
}
break;
+ }
case SourceType::Video:
case SourceType::Annotations: