1 // Copyright 2015-present 650 Industries. All rights reserved.
2 
3 #import "EXCachedResource.h"
4 
5 NS_ASSUME_NONNULL_BEGIN
6 
7 @interface EXManifestResource : EXCachedResource
8 
9 - (instancetype)initWithResourceName:(NSString *)resourceName
10                         resourceType:(NSString *)resourceType
11                            remoteUrl:(NSURL *)url
12                            cachePath:(NSString * _Nullable)cachePath NS_UNAVAILABLE;
13 
14 /**
15  *  @param manifestUrl the actual http url from which to download the manifest
16  *  @param originalUrl whatever url the user originally requested
17  */
18 - (instancetype)initWithManifestUrl:(NSURL *)url
19                         originalUrl:(NSURL * _Nullable)originalUrl NS_DESIGNATED_INITIALIZER;
20 
21 /**
22  *  Manifests will not be cached implicitly as we want to wait until we've also
23  *  downloaded the whole bundle. This method tells the ManifestResource it's safe to cache
24  */
25 - (void)writeToCache;
26 
27 - (NSError *)verifyManifestSdkVersion:(NSDictionary *)maybeManifest;
28 - (NSError *)formatError:(NSError *)error;
29 
30 @end
31 
32 NS_ASSUME_NONNULL_END
33