* 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
74 lines
2.4 KiB
Objective-C
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
|