1 // Copyright 2020-present 650 Industries. All rights reserved. 2 3 #import <ExpoModulesCore/EXInternalModule.h> 4 5 @class EXUpdatesConfig; 6 @class EXUpdatesUpdate; 7 @class EXUpdatesSelectionPolicy; 8 @class EXUpdatesDatabase; 9 10 NS_ASSUME_NONNULL_BEGIN 11 12 typedef void (^EXUpdatesAppRelaunchCompletionBlock)(BOOL success); 13 14 @protocol EXUpdatesModuleInterface 15 16 @property (nonatomic, readonly, nullable) EXUpdatesConfig *config; 17 @property (nonatomic, readonly) EXUpdatesDatabase *database; 18 @property (nonatomic, readonly, nullable) EXUpdatesSelectionPolicy *selectionPolicy; 19 @property (nonatomic, readonly) NSURL *directory; 20 21 @property (nullable, nonatomic, readonly, strong) EXUpdatesUpdate *embeddedUpdate; 22 @property (nullable, nonatomic, readonly, strong) EXUpdatesUpdate *launchedUpdate; 23 @property (nullable, nonatomic, readonly, strong) NSDictionary *assetFilesMap; 24 @property (nonatomic, readonly, assign) BOOL isEmbeddedLaunch; 25 @property (nonatomic, readonly, assign) BOOL isUsingEmbeddedAssets; 26 @property (nonatomic, readonly, assign) BOOL isStarted; 27 @property (nonatomic, readonly, assign) BOOL isEmergencyLaunch; 28 @property (nonatomic, readonly, assign) BOOL canRelaunch; 29 @property (nonatomic, readonly, assign) BOOL canCheckForUpdateAndFetchUpdate; 30 31 - (void)requestRelaunchWithCompletion:(EXUpdatesAppRelaunchCompletionBlock)completion; 32 - (void)resetSelectionPolicy; 33 34 @end 35 36 @interface EXUpdatesService : NSObject <EXInternalModule, EXUpdatesModuleInterface> 37 38 @end 39 40 NS_ASSUME_NONNULL_END 41