Files
MapLibreParticleLab/platform/darwin/src/native_apple_interface.m
m-stephen f9b7284276 [ios, macos]Remove iOS/macOS codes from native codes (#16031)
* add source/header

* add ios files

* add configs

* modify name

* http_file_source

* add interface delegate when map init

* fix name

* fix delegate name

* support mac os

* add mac os support

* make optional delegate when mac os

* mac/ios difference

* add ios change log

* cancel iOS/mac OS judgement

* cancel iOS/mac OS judgement

* cancel judgement in .m

* update

* update

* update http_file_source

* update ios

* update mac os

* add mac os file

* add mac os file to `.cmake`

* change names

* add log & fix format

* reset changelog commit

* update changelog

* rename iOS network manager

* Add a test configuration(same as default configuration) when mac os run tests

* re-add account type into `http_file_source`

* refactor
2019-12-14 13:38:46 +08:00

74 lines
2.4 KiB
Objective-C

#import <Foundation/Foundation.h>
#import <mbgl/interface/native_apple_interface.h>
@implementation MGLNativeNetworkManager
static MGLNativeNetworkManager *instance = nil;
+ (MGLNativeNetworkManager *)sharedManager {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[MGLNativeNetworkManager alloc] init];
});
return instance;
}
- (NSURLSessionConfiguration *)sessionConfiguration {
if (_delegate && [_delegate respondsToSelector:@selector(sessionConfiguration)]) {
return [_delegate sessionConfiguration];
}
// For testing. Since we get a `nil` return when SDK is modualar, we use this for testing requests.
// Same as `[MGLNetworkConfiguration defaultSessionConfiguration]` in `MGLNetworkConfiguration.m`.
return [self testSessionConfiguration];
}
- (NSURLSessionConfiguration *)testSessionConfiguration {
NSURLSessionConfiguration* sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfiguration.timeoutIntervalForResource = 30;
sessionConfiguration.HTTPMaximumConnectionsPerHost = 8;
sessionConfiguration.requestCachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
sessionConfiguration.URLCache = nil;
return sessionConfiguration;
}
- (NSString *)skuToken {
if(_delegate && [_delegate respondsToSelector:@selector(skuToken)]) {
return [_delegate skuToken];
}
return nil;
}
- (void)startDownloadEvent:(NSString *)event type:(NSString *)type {
if (_delegate && [_delegate respondsToSelector:@selector(startDownloadEvent:type:)]) {
[_delegate startDownloadEvent:event type:type];
}
}
- (void)cancelDownloadEventForResponse:(NSURLResponse *)response {
if (_delegate && [_delegate respondsToSelector:@selector(cancelDownloadEventForResponse:)]) {
return [_delegate cancelDownloadEventForResponse:response];
}
}
- (void)stopDownloadEventForResponse:(NSURLResponse *)response {
if (_delegate && [_delegate respondsToSelector:@selector(stopDownloadEventForResponse:)]) {
return [_delegate stopDownloadEventForResponse:response];
}
}
- (void)debugLog:(NSString *)format, ...{
if (_delegate && [_delegate respondsToSelector:@selector(debugLog:)]) {
return [_delegate debugLog:format];
}
}
- (void)errorLog:(NSString *)format, ...{
if (_delegate && [_delegate respondsToSelector:@selector(errorLog:)]) {
return [_delegate errorLog:format];
}
}
@end