summaryrefslogtreecommitdiff
path: root/platform/default/src/mbgl/storage/default_file_source.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/default/src/mbgl/storage/default_file_source.cpp')
-rw-r--r--platform/default/src/mbgl/storage/default_file_source.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/platform/default/src/mbgl/storage/default_file_source.cpp b/platform/default/src/mbgl/storage/default_file_source.cpp
index eabb7b45c3..92e86b25d0 100644
--- a/platform/default/src/mbgl/storage/default_file_source.cpp
+++ b/platform/default/src/mbgl/storage/default_file_source.cpp
@@ -87,6 +87,10 @@ public:
callback(offlineDatabase->deleteRegion(std::move(region)));
}
+ void invalidateRegion(int64_t regionID, std::function<void (std::exception_ptr)> callback) {
+ callback(offlineDatabase->invalidateRegion(regionID));
+ }
+
void setRegionObserver(int64_t regionID, std::unique_ptr<OfflineRegionObserver> observer) {
if (auto download = getDownload(regionID)) {
download.value()->setObserver(std::move(observer));
@@ -184,6 +188,14 @@ public:
callback(offlineDatabase->resetCache());
}
+ void invalidateTileCache(std::function<void (std::exception_ptr)> callback) {
+ callback(offlineDatabase->invalidateTileCache());
+ }
+
+ void clearTileCache(std::function<void (std::exception_ptr)> callback) {
+ callback(offlineDatabase->clearTileCache());
+ }
+
private:
expected<OfflineDownload*, std::exception_ptr> getDownload(int64_t regionID) {
auto it = downloads.find(regionID);
@@ -295,6 +307,10 @@ void DefaultFileSource::deleteOfflineRegion(OfflineRegion&& region, std::functio
impl->actor().invoke(&Impl::deleteRegion, std::move(region), callback);
}
+void DefaultFileSource::invalidateOfflineRegion(OfflineRegion& region, std::function<void (std::exception_ptr)> callback) {
+ impl->actor().invoke(&Impl::invalidateRegion, region.getID(), callback);
+}
+
void DefaultFileSource::setOfflineRegionObserver(OfflineRegion& region, std::unique_ptr<OfflineRegionObserver> observer) {
impl->actor().invoke(&Impl::setRegionObserver, region.getID(), std::move(observer));
}
@@ -327,6 +343,14 @@ void DefaultFileSource::resetCache(std::function<void (std::exception_ptr)> call
impl->actor().invoke(&Impl::resetCache, callback);
}
+void DefaultFileSource::invalidateTileCache(std::function<void (std::exception_ptr)> callback) {
+ impl->actor().invoke(&Impl::invalidateTileCache, callback);
+}
+
+void DefaultFileSource::clearTileCache(std::function<void (std::exception_ptr)> callback) {
+ impl->actor().invoke(&Impl::clearTileCache, callback);
+}
+
// For testing only:
void DefaultFileSource::setOnlineStatus(const bool status) {