diff options
Diffstat (limited to 'src/mbgl/tile')
-rw-r--r-- | src/mbgl/tile/geometry_tile.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/tile/geometry_tile.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/tile/tile_loader.hpp | 7 | ||||
-rw-r--r-- | src/mbgl/tile/tile_loader_impl.hpp | 6 |
4 files changed, 9 insertions, 8 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp index 3057712176..5469fa0e6f 100644 --- a/src/mbgl/tile/geometry_tile.cpp +++ b/src/mbgl/tile/geometry_tile.cpp @@ -157,7 +157,7 @@ void GeometryTile::onGlyphsAvailable(GlyphMap glyphs) { } void GeometryTile::getGlyphs(GlyphDependencies glyphDependencies) { - glyphManager.getGlyphs(*this, std::move(glyphDependencies), fileSource); + glyphManager.getGlyphs(*this, std::move(glyphDependencies), *fileSource); } void GeometryTile::onImagesAvailable(ImageMap images, ImageMap patterns, ImageVersionMap versionMap, uint64_t imageCorrelationID) { diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp index fadc0aab41..5c2e8245ee 100644 --- a/src/mbgl/tile/geometry_tile.hpp +++ b/src/mbgl/tile/geometry_tile.hpp @@ -108,7 +108,7 @@ private: std::shared_ptr<Mailbox> mailbox; Actor<GeometryTileWorker> worker; - FileSource& fileSource; + std::shared_ptr<FileSource> fileSource; GlyphManager& glyphManager; ImageManager& imageManager; diff --git a/src/mbgl/tile/tile_loader.hpp b/src/mbgl/tile/tile_loader.hpp index 92ca74330f..65f4ceb118 100644 --- a/src/mbgl/tile/tile_loader.hpp +++ b/src/mbgl/tile/tile_loader.hpp @@ -1,6 +1,5 @@ #pragma once -#include <mbgl/util/noncopyable.hpp> #include <mbgl/storage/resource.hpp> #include <mbgl/tile/tile.hpp> @@ -13,8 +12,10 @@ class Tileset; class TileParameters; template <typename T> -class TileLoader : private util::noncopyable { +class TileLoader { public: + TileLoader(const TileLoader&) = delete; + TileLoader& operator=(const TileLoader&) = delete; TileLoader(T&, const OverscaledTileID&, const TileParameters&, @@ -50,7 +51,7 @@ private: T& tile; TileNecessity necessity; Resource resource; - FileSource& fileSource; + std::shared_ptr<FileSource> fileSource; std::unique_ptr<AsyncRequest> request; }; diff --git a/src/mbgl/tile/tile_loader_impl.hpp b/src/mbgl/tile/tile_loader_impl.hpp index 5835858d1a..bbe579ed00 100644 --- a/src/mbgl/tile/tile_loader_impl.hpp +++ b/src/mbgl/tile/tile_loader_impl.hpp @@ -27,7 +27,7 @@ TileLoader<T>::TileLoader(T& tile_, Resource::LoadingMethod::CacheOnly)), fileSource(parameters.fileSource) { assert(!request); - if (fileSource.supportsCacheOnlyRequests()) { + if (fileSource->supportsCacheOnlyRequests()) { // When supported, the first request is always optional, even if the TileLoader // is marked as required. That way, we can let the first optional request continue // to load when the TileLoader is later changed from required to optional. If we @@ -52,7 +52,7 @@ void TileLoader<T>::loadFromCache() { assert(!request); resource.loadingMethod = Resource::LoadingMethod::CacheOnly; - request = fileSource.request(resource, [this](Response res) { + request = fileSource->request(resource, [this](Response res) { request.reset(); tile.setTriedCache(); @@ -118,7 +118,7 @@ void TileLoader<T>::loadFromNetwork() { // Instead of using Resource::LoadingMethod::All, we're first doing a CacheOnly, and then a // NetworkOnly request. resource.loadingMethod = Resource::LoadingMethod::NetworkOnly; - request = fileSource.request(resource, [this](Response res) { loadedData(res); }); + request = fileSource->request(resource, [this](Response res) { loadedData(res); }); } } // namespace mbgl |