diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-04-21 18:27:58 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2020-04-22 19:21:56 +0300 |
commit | dc7b1dd34fcea40e07d1a2831efee20132fbb4ab (patch) | |
tree | a073026984e8a6221ed74e67709db1a36349e432 /src/mbgl/tile | |
parent | 11efffb35108619badec52d5b8baf70493cc000c (diff) | |
download | qtlocation-mapboxgl-dc7b1dd34fcea40e07d1a2831efee20132fbb4ab.tar.gz |
[core] Source::setVolatile enables Resource::StoragePolicy::Volatile for tiles
Diffstat (limited to 'src/mbgl/tile')
-rw-r--r-- | src/mbgl/tile/tile.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/tile/tile_loader.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/tile/tile_loader_impl.hpp | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/src/mbgl/tile/tile.hpp b/src/mbgl/tile/tile.hpp index 3bb8d87d6c..573b3a1c50 100644 --- a/src/mbgl/tile/tile.hpp +++ b/src/mbgl/tile/tile.hpp @@ -36,10 +36,11 @@ class UploadPass; struct TileUpdateParameters { Duration minimumUpdateInterval; + bool isVolatile; }; inline bool operator==(const TileUpdateParameters& a, const TileUpdateParameters& b) { - return a.minimumUpdateInterval == b.minimumUpdateInterval; + return a.minimumUpdateInterval == b.minimumUpdateInterval && a.isVolatile == b.isVolatile; } inline bool operator!=(const TileUpdateParameters& a, const TileUpdateParameters& b) { diff --git a/src/mbgl/tile/tile_loader.hpp b/src/mbgl/tile/tile_loader.hpp index e4b9a1dc5e..99d9047f8d 100644 --- a/src/mbgl/tile/tile_loader.hpp +++ b/src/mbgl/tile/tile_loader.hpp @@ -49,7 +49,7 @@ private: Resource resource; std::shared_ptr<FileSource> fileSource; std::unique_ptr<AsyncRequest> request; - TileUpdateParameters updateParameters{{Duration::zero()}}; + TileUpdateParameters updateParameters{Duration::zero(), false}; }; } // namespace mbgl diff --git a/src/mbgl/tile/tile_loader_impl.hpp b/src/mbgl/tile/tile_loader_impl.hpp index cf37650484..a034ea7401 100644 --- a/src/mbgl/tile/tile_loader_impl.hpp +++ b/src/mbgl/tile/tile_loader_impl.hpp @@ -160,6 +160,8 @@ void TileLoader<T>::loadFromNetwork() { // NetworkOnly request. resource.loadingMethod = Resource::LoadingMethod::NetworkOnly; resource.minimumUpdateInterval = updateParameters.minimumUpdateInterval; + resource.storagePolicy = + updateParameters.isVolatile ? Resource::StoragePolicy::Volatile : Resource::StoragePolicy::Permanent; request = fileSource->request(resource, [this](const Response& res) { loadedData(res); }); } |