1// Copyright 2015-present 650 Industries. All rights reserved. 2 3#import "EXEnvironment.h" 4#import "EXErrorRecoveryManager.h" 5#import "EXFileDownloader.h" 6#import "EXKernel.h" 7#import "EXAppFetcher.h" 8#import "EXAppFetcherDevelopmentMode.h" 9#import "EXAppFetcherCacheOnly.h" 10#import "EXAppFetcherWithTimeout.h" 11#import "EXAbstractLoader.h" 12#import "EXKernelAppRecord.h" 13#import "EXKernelAppRegistry.h" 14#import "EXKernelLinkingManager.h" 15#import "EXManifestResource.h" 16 17#import <React/RCTUtils.h> 18 19@import EXManifests; 20 21NS_ASSUME_NONNULL_BEGIN 22 23NSTimeInterval const kEXAppLoaderDefaultTimeout = 30; 24NSTimeInterval const kEXJSBundleTimeout = 60 * 5; 25 26@implementation EXAbstractLoader 27 28- (instancetype)initWithManifestUrl:(NSURL *)url 29{ 30 [self doesNotRecognizeSelector:_cmd]; 31 return nil; 32} 33 34- (instancetype)initWithLocalManifest:(EXManifestsManifest *)manifest 35{ 36 [self doesNotRecognizeSelector:_cmd]; 37 return nil; 38} 39 40- (void)fetchManifestWithCacheBehavior:(EXManifestCacheBehavior)cacheBehavior success:(void (^)(EXManifestsManifest * _Nonnull))success failure:(void (^)(NSError * _Nonnull))failure 41{ 42 [self doesNotRecognizeSelector:_cmd]; 43} 44 45- (void)request 46{ 47 [self doesNotRecognizeSelector:_cmd]; 48} 49 50- (void)requestFromCache 51{ 52 [self doesNotRecognizeSelector:_cmd]; 53} 54 55- (void)forceBundleReload 56{ 57 [self doesNotRecognizeSelector:_cmd]; 58} 59 60- (BOOL)supportsBundleReload 61{ 62 [self doesNotRecognizeSelector:_cmd]; 63 return NO; 64} 65 66- (void)writeManifestToCache 67{ 68 [self doesNotRecognizeSelector:_cmd]; 69} 70 71#pragma mark - 72#pragma mark EXAppFetcher delegate methods 73 74- (void)appFetcher:(nonnull EXAppFetcher *)appFetcher didFailWithError:(nonnull NSError *)error { 75 [self doesNotRecognizeSelector:_cmd]; 76} 77 78- (void)appFetcher:(nonnull EXAppFetcher *)appFetcher didFinishLoadingManifest:(nonnull EXManifestsManifest *)manifest bundle:(nonnull NSData *)bundle { 79 [self doesNotRecognizeSelector:_cmd]; 80} 81 82- (void)appFetcher:(nonnull EXAppFetcher *)appFetcher didLoadOptimisticManifest:(nonnull EXManifestsManifest *)manifest { 83 [self doesNotRecognizeSelector:_cmd]; 84} 85 86- (void)appFetcher:(nonnull EXAppFetcher *)appFetcher didSwitchToAppFetcher:(nonnull EXAppFetcher *)newAppFetcher retainingCurrent:(BOOL)shouldRetain { 87 [self doesNotRecognizeSelector:_cmd]; 88} 89 90- (void)appFetcher:(nonnull EXAppFetcher *)appFetcher didLoadBundleWithProgress:(nonnull EXLoadingProgress *)progress { 91 [self doesNotRecognizeSelector:_cmd]; 92} 93 94- (void)appFetcher:(nonnull EXAppFetcher *)appFetcher didResolveUpdatedBundleWithManifest:(EXManifestsManifest * _Nullable)manifest isFromCache:(BOOL)isFromCache error:(NSError * _Nullable)error { 95 [self doesNotRecognizeSelector:_cmd]; 96} 97 98- (BOOL)isCacheUpToDateWithAppFetcher:(nonnull EXAppFetcher *)appFetcher { 99 [self doesNotRecognizeSelector:_cmd]; 100 return NO; 101} 102 103@end 104 105NS_ASSUME_NONNULL_END 106