diff options
Diffstat (limited to 'platform/default/include/mbgl')
-rw-r--r-- | platform/default/include/mbgl/storage/offline_database.hpp | 5 | ||||
-rw-r--r-- | platform/default/include/mbgl/storage/offline_download.hpp | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/platform/default/include/mbgl/storage/offline_database.hpp b/platform/default/include/mbgl/storage/offline_database.hpp index afce87b542..e19dcfade9 100644 --- a/platform/default/include/mbgl/storage/offline_database.hpp +++ b/platform/default/include/mbgl/storage/offline_database.hpp @@ -78,8 +78,8 @@ public: std::exception_ptr invalidateRegion(int64_t regionID); // Return value is (response, stored size) - optional<std::pair<Response, uint64_t>> getRegionResource(int64_t regionID, const Resource&); - optional<int64_t> hasRegionResource(int64_t regionID, const Resource&); + optional<std::pair<Response, uint64_t>> getRegionResource(const Resource&); + optional<int64_t> hasRegionResource(const Resource&); uint64_t putRegionResource(int64_t regionID, const Resource&, const Response&); void putRegionResources(int64_t regionID, const std::list<std::tuple<Resource, Response>>&, OfflineRegionStatus&); @@ -92,6 +92,7 @@ public: bool offlineMapboxTileCountLimitExceeded(); uint64_t getOfflineMapboxTileCount(); bool exceedsOfflineMapboxTileCountLimit(const Resource&); + void markUsedResources(int64_t regionID, const std::list<Resource>&); private: void initialize(); diff --git a/platform/default/include/mbgl/storage/offline_download.hpp b/platform/default/include/mbgl/storage/offline_download.hpp index 84b319fb5a..53b42ae9d1 100644 --- a/platform/default/include/mbgl/storage/offline_download.hpp +++ b/platform/default/include/mbgl/storage/offline_download.hpp @@ -46,7 +46,7 @@ private: * While the request is in progress, it is recorded in `requests`. If the download * is deactivated, all in progress requests are cancelled. */ - void ensureResource(const Resource&, std::function<void (Response)> = {}); + void ensureResource(Resource&&, std::function<void (Response)> = {}); void onMapboxTileCountLimitExceeded(); @@ -60,10 +60,12 @@ private: std::list<std::unique_ptr<AsyncRequest>> requests; std::unordered_set<std::string> requiredSourceURLs; std::deque<Resource> resourcesRemaining; + std::list<Resource> resourcesToBeMarkedAsUsed; std::list<std::tuple<Resource, Response>> buffer; void queueResource(Resource&&); void queueTiles(style::SourceType, uint16_t tileSize, const Tileset&); + void markPendingUsedResources(); }; } // namespace mbgl |