diff options
author | jmkiley <jordan.kiley@mapbox.com> | 2019-06-27 15:18:44 -0700 |
---|---|---|
committer | jmkiley <jordan.kiley@mapbox.com> | 2019-07-09 15:03:39 -0700 |
commit | 495fe30146c70f85dda1f1a77462515cabb23546 (patch) | |
tree | d79ff9c671b84d85ad0afe384928386bc34b2de0 | |
parent | a1027e93c618926ec680e0086ed7909ddb643bc8 (diff) | |
download | qtlocation-mapboxgl-495fe30146c70f85dda1f1a77462515cabb23546.tar.gz |
[ios] Started invalidateOfflineRegion
-rw-r--r-- | platform/darwin/src/MGLOfflineStorage.mm | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/platform/darwin/src/MGLOfflineStorage.mm b/platform/darwin/src/MGLOfflineStorage.mm index b91da5b26c..3e30c1f6ed 100644 --- a/platform/darwin/src/MGLOfflineStorage.mm +++ b/platform/darwin/src/MGLOfflineStorage.mm @@ -443,21 +443,33 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio }); } }); + } -- (void)invalidateOfflineRegion:(MGLShapeOfflineRegion *)region withCompletionHandler:(void (^)(NSError * _Nullable))completion { +- (void)invalidateOfflineRegion:(id <MGLOfflineRegion>)region withCompletionHandler:(void (^)(NSError * _Nullable))completion { if (!completion) { return; } - const mbgl::OfflineRegionDefinition mbglRegionDefinition = [(id <MGLOfflineRegion_Private>)region offlineRegionDefinition]; - // JK - I need to convert the MGLOfflineRegion to an OfflineRegion - -// _mbglFileSource->invalidateOfflineRegion(std::move *region, [&, completion](std::exception_ptr exception) { -// NSError *error; -// if (error) { -// error = [NSError errorWithDomain:MGLErrorDomain code:-1 userInfo:@{ -// -// }]; -// } + + if (![region conformsToProtocol:@protocol(MGLOfflineRegion_Private)]) { + [NSException raise:MGLUnsupportedRegionTypeException + format:@"Regions of type %@ are unsupported.", NSStringFromClass([region class])]; + return; + } + +// const mbgl::OfflineRegionDefinition regionDefinition = [(id <MGLOfflineRegion_Private>)region offlineRegionDefinition]; +// _mbglFileSource->createOfflineRegion(regionDefinition, nil, [&, completion](mbgl::expected<mbgl::OfflineRegion, std::exception_ptr> mbglOfflineRegion) { // }); +// // JK - I need to convert the MGLOfflineRegion to an OfflineRegion. :ohno: +// mbgl::OfflineRegion offlineRegion = const_cast<mbgl::OfflineRegion>(region); + MGLShapeOfflineRegion *weakCopy = region; + + _mbglFileSource->invalidateOfflineRegion(weakCopy, [&, completion](std::exception_ptr exception) { + NSError *error; + if (error) { + error = [NSError errorWithDomain:MGLErrorDomain code:-1 userInfo:@{ + + }]; + } + }); } - (void)reloadPacks { MGLLogInfo(@"Reloading packs."); |