diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-06-14 10:56:51 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-06-14 11:25:45 -0700 |
commit | 9d3c4fbbb05d37802ebc15210b041392b4d48f15 (patch) | |
tree | 2f4638ebcff4cc50a08c73ed6587a53c7014bcf0 /platform/default/mbgl/storage/offline_download.cpp | |
parent | 9dfcb95e4fe333922306eadd4df5cbde2f03a6c1 (diff) | |
download | qtlocation-mapboxgl-9d3c4fbbb05d37802ebc15210b041392b4d48f15.tar.gz |
[core] Push Source::url down to subclasses
Diffstat (limited to 'platform/default/mbgl/storage/offline_download.cpp')
-rw-r--r-- | platform/default/mbgl/storage/offline_download.cpp | 21 |
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: |