summaryrefslogtreecommitdiff
path: root/platform/default/default_file_source.cpp
diff options
context:
space:
mode:
authorMolly Lloyd <mollymerp@users.noreply.github.com>2016-09-20 11:43:00 -0400
committerTobrun <tobrun.van.nuland@gmail.com>2016-09-20 17:43:00 +0200
commit598f7c6ad5147417c7241514f1fdece348a9b997 (patch)
tree0e238b65c58cd0cd3cb5b9f10a12c35715ae9969 /platform/default/default_file_source.cpp
parent97da3872737ea08bdb2f50a22baf08aab123fafb (diff)
downloadqtlocation-mapboxgl-598f7c6ad5147417c7241514f1fdece348a9b997.tar.gz
[core] allow offline region metadata to be updated (#6338)
Diffstat (limited to 'platform/default/default_file_source.cpp')
-rw-r--r--platform/default/default_file_source.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp
index 83674cea03..099890a035 100644
--- a/platform/default/default_file_source.cpp
+++ b/platform/default/default_file_source.cpp
@@ -62,6 +62,16 @@ public:
callback(std::current_exception(), {});
}
}
+
+ void updateMetadata(const int64_t regionID,
+ const OfflineRegionMetadata& metadata,
+ std::function<void (std::exception_ptr, optional<OfflineRegionMetadata>)> callback) {
+ try {
+ callback({}, offlineDatabase.updateMetadata(regionID, metadata));
+ } catch (...) {
+ callback(std::current_exception(), {});
+ }
+ }
void getRegionStatus(int64_t regionID, std::function<void (std::exception_ptr, optional<OfflineRegionStatus>)> callback) {
try {
@@ -208,6 +218,12 @@ void DefaultFileSource::createOfflineRegion(const OfflineRegionDefinition& defin
thread->invoke(&Impl::createRegion, definition, metadata, callback);
}
+void DefaultFileSource::updateOfflineMetadata(const int64_t regionID,
+ const OfflineRegionMetadata& metadata,
+ std::function<void (std::exception_ptr, optional<OfflineRegionMetadata>)> callback) {
+ thread->invoke(&Impl::updateMetadata, regionID, metadata, callback);
+}
+
void DefaultFileSource::deleteOfflineRegion(OfflineRegion&& region, std::function<void (std::exception_ptr)> callback) {
thread->invoke(&Impl::deleteRegion, std::move(region), callback);
}