summaryrefslogtreecommitdiff
path: root/platform/default/default_file_source.cpp
diff options
context:
space:
mode:
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);
}