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