diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2018-11-07 23:48:15 -0800 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2018-11-08 14:40:23 -0800 |
commit | d13cd54af64b9bcac9ae076b33d56b2af8313803 (patch) | |
tree | 9b50d72d5f1eccded9a0935650a922d04e95716c | |
parent | ad235d3f6c12e784511893a8219f32a004fe158b (diff) | |
download | qtlocation-mapboxgl-d13cd54af64b9bcac9ae076b33d56b2af8313803.tar.gz |
[ios, macos] Renamed ambient cache prewarming method
Renamed the method for prewarming the ambient cache to conform to Cocoa and Swift naming conventions.
-rw-r--r-- | platform/darwin/src/MGLOfflineStorage.h | 37 | ||||
-rw-r--r-- | platform/darwin/src/MGLOfflineStorage.mm | 11 | ||||
-rw-r--r-- | platform/darwin/test/MGLOfflineStorageTests.mm | 14 | ||||
-rw-r--r-- | platform/ios/CHANGELOG.md | 4 | ||||
-rw-r--r-- | platform/macos/CHANGELOG.md | 4 |
5 files changed, 43 insertions, 27 deletions
diff --git a/platform/darwin/src/MGLOfflineStorage.h b/platform/darwin/src/MGLOfflineStorage.h index 415df84646..387045f845 100644 --- a/platform/darwin/src/MGLOfflineStorage.h +++ b/platform/darwin/src/MGLOfflineStorage.h @@ -340,25 +340,28 @@ MGL_EXPORT @property (nonatomic, readonly) unsigned long long countOfBytesCompleted; /* - * Insert the provided resource into the ambient cache - * This method mimics the caching that would take place if the equivalent - * resource were requested in the process of map rendering. - * Use this method to pre-warm the cache with resources you know - * will be requested. - * - * This call is asynchronous: the data may not be immediately available - * for in-progress requests, although subsequent requests should have - * access to the cached data. - * - * @param url The URL of the resource to insert - * @param data Response data to store for this resource. Data is expected to be uncompressed; internally, the cache will compress data as necessary. - * @param modified Optional "modified" response header - * @param expires Optional "expires" response header - * @param etag Optional "entity tag" response header - * @param mustRevalidate Indicates whether response can be used after it's stale + Inserts the provided resource into the ambient cache. + + This method mimics the caching that would take place if the equivalent resource + were requested in the process of map rendering. Use this method to pre-warm the + cache with resources you know will be requested. + + This method is asynchronous; the data may not be immediately available for + in-progress requests, though subsequent requests should have access to the + cached data. + + @param data Response data to store for this resource. The data is expected to + be uncompressed; internally, the cache will compress data as necessary. + @param url The URL at which the data can normally be found. + @param modified The date the resource was last modified. + @param expires The date after which the resource is no longer valid. + @param eTag An HTTP entity tag. + @param mustRevalidate A Boolean value indicating whether the data is still + usable past the expiration date. */ --(void)putResourceWithUrl:(NSURL *)url data:(NSData *)data modified:(NSDate * _Nullable)modified expires:(NSDate * _Nullable)expires etag:(NSString * _Nullable)etag mustRevalidate:(BOOL)mustRevalidate; +- (void)preloadData:(NSData *)data forURL:(NSURL *)url modificationDate:(nullable NSDate *)modified expirationDate:(nullable NSDate *)expires eTag:(nullable NSString *)eTag mustRevalidate:(BOOL)mustRevalidate NS_SWIFT_NAME(preload(_:for:modifiedOn:expiresOn:eTag:mustRevalidate:)); +- (void)putResourceWithUrl:(NSURL *)url data:(NSData *)data modified:(nullable NSDate *)modified expires:(nullable NSDate *)expires etag:(nullable NSString *)etag mustRevalidate:(BOOL)mustRevalidate __attribute__((deprecated("Use -preloadData:forURL:modificationDate:expirationDate:eTag:mustRevalidate:."))); @end diff --git a/platform/darwin/src/MGLOfflineStorage.mm b/platform/darwin/src/MGLOfflineStorage.mm index c5b08b8bc7..5e50e83274 100644 --- a/platform/darwin/src/MGLOfflineStorage.mm +++ b/platform/darwin/src/MGLOfflineStorage.mm @@ -490,14 +490,14 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio return attributes.fileSize; } --(void)putResourceWithUrl:(NSURL *)url data:(NSData *)data modified:(NSDate * _Nullable)modified expires:(NSDate * _Nullable)expires etag:(NSString * _Nullable)etag mustRevalidate:(BOOL)mustRevalidate { - mbgl::Resource resource(mbgl::Resource::Kind::Unknown, [[url absoluteString] UTF8String]); +- (void)preloadData:(NSData *)data forURL:(NSURL *)url modificationDate:(nullable NSDate *)modified expirationDate:(nullable NSDate *)expires eTag:(nullable NSString *)eTag mustRevalidate:(BOOL)mustRevalidate { + mbgl::Resource resource(mbgl::Resource::Kind::Unknown, url.absoluteString.UTF8String); mbgl::Response response; response.data = std::make_shared<std::string>(static_cast<const char*>(data.bytes), data.length); response.mustRevalidate = mustRevalidate; - if (etag) { - response.etag = std::string([etag UTF8String]); + if (eTag) { + response.etag = std::string(eTag.UTF8String); } if (modified) { @@ -511,5 +511,8 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio _mbglFileSource->put(resource, response); } +- (void)putResourceWithUrl:(NSURL *)url data:(NSData *)data modified:(nullable NSDate *)modified expires:(nullable NSDate *)expires etag:(nullable NSString *)etag mustRevalidate:(BOOL)mustRevalidate { + [self preloadData:data forURL:url modificationDate:modified expirationDate:expires eTag:etag mustRevalidate:mustRevalidate]; +} @end diff --git a/platform/darwin/test/MGLOfflineStorageTests.mm b/platform/darwin/test/MGLOfflineStorageTests.mm index f01e6854b7..d7c592d668 100644 --- a/platform/darwin/test/MGLOfflineStorageTests.mm +++ b/platform/darwin/test/MGLOfflineStorageTests.mm @@ -395,12 +395,13 @@ } --(void) testPutResourceForURL { +- (void)testPutResourceForURL { NSURL *styleURL = [NSURL URLWithString:@"https://api.mapbox.com/some/thing"]; MGLOfflineStorage *os = [MGLOfflineStorage sharedOfflineStorage]; std::string testData("test data"); - [os putResourceWithUrl:styleURL data:[NSData dataWithBytes:testData.c_str() length:testData.length()] modified:nil expires:nil etag:nil mustRevalidate:NO]; + NSData *data = [NSData dataWithBytes:testData.c_str() length:testData.length()]; + [os preloadData:data forURL:styleURL modificationDate:nil expirationDate:nil eTag:nil mustRevalidate:NO]; auto fs = os.mbglFileSource; const mbgl::Resource resource { mbgl::Resource::Unknown, "https://api.mapbox.com/some/thing" }; @@ -420,14 +421,15 @@ CFRunLoopRun(); } --(void) testPutResourceForURLWithTimestamps { +- (void)testPutResourceForURLWithTimestamps { NSURL *styleURL = [NSURL URLWithString:@"https://api.mapbox.com/some/thing"]; MGLOfflineStorage *os = [MGLOfflineStorage sharedOfflineStorage]; std::string testData("test data"); - NSDate* now = [NSDate date]; - NSDate* future = [now dateByAddingTimeInterval:600]; - [os putResourceWithUrl:styleURL data:[NSData dataWithBytes:testData.c_str() length:testData.length()] modified:now expires:future etag:@"some etag" mustRevalidate:YES]; + NSDate *now = [NSDate date]; + NSDate *future = [now dateByAddingTimeInterval:600]; + NSData *data = [NSData dataWithBytes:testData.c_str() length:testData.length()]; + [os preloadData:data forURL:styleURL modificationDate:now expirationDate:future eTag:@"some etag" mustRevalidate:YES]; auto fs = os.mbglFileSource; const mbgl::Resource resource { mbgl::Resource::Unknown, "https://api.mapbox.com/some/thing" }; diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md index 26ca1854be..ff4fd26ccd 100644 --- a/platform/ios/CHANGELOG.md +++ b/platform/ios/CHANGELOG.md @@ -2,6 +2,10 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONTRIBUTING.md](../../CONTRIBUTING.md) to get started. +## master + +* Renamed `-[MGLOfflineStorage putResourceWithUrl:data:modified:expires:etag:mustRevalidate:]` to `-[MGLOfflineStorage preloadData:forURL:modificationDate:expirationDate:eTag:mustRevalidate:]`. ([#13318](https://github.com/mapbox/mapbox-gl-native/pull/13318)) + ## 4.6.0 - November 7, 2018 ### Styles and rendering diff --git a/platform/macos/CHANGELOG.md b/platform/macos/CHANGELOG.md index 104b42fcca..34d15355f6 100644 --- a/platform/macos/CHANGELOG.md +++ b/platform/macos/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.12.0 - November 8, 2018 +* Renamed `-[MGLOfflineStorage putResourceWithUrl:data:modified:expires:etag:mustRevalidate:]` to `-[MGLOfflineStorage preloadData:forURL:modificationDate:expirationDate:eTag:mustRevalidate:]`. ([#13318](https://github.com/mapbox/mapbox-gl-native/pull/13318)) + +## master + ### Styles and rendering * `MGLSymbolStyleLayer.text` can now be set to rich text with varying fonts and text sizes. ([#12624](https://github.com/mapbox/mapbox-gl-native/pull/12624)) |