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