1 // Copyright 2020-present 650 Industries. All rights reserved. 2 3 #if __has_include(<EXUpdates/EXUpdatesService.h>) 4 #import <Foundation/Foundation.h> 5 #import <ExpoModulesCore/EXInternalModule.h> 6 #import <EXUpdates/EXUpdatesConfig.h> 7 #import <EXUpdates/EXUpdatesDatabase.h> 8 #import <EXUpdates/EXUpdatesSelectionPolicy.h> 9 #import <EXUpdates/EXUpdatesService.h> 10 #import <EXUpdates/EXUpdatesUpdate.h> 11 12 NS_ASSUME_NONNULL_BEGIN 13 14 @protocol EXUpdatesBindingDelegate 15 16 - (EXUpdatesConfig *)configForScopeKey:(NSString *)scopeKey; 17 - (EXUpdatesSelectionPolicy *)selectionPolicyForScopeKey:(NSString *)scopeKey; 18 - (nullable EXUpdatesUpdate *)launchedUpdateForScopeKey:(NSString *)scopeKey; 19 - (nullable NSDictionary *)assetFilesMapForScopeKey:(NSString *)scopeKey; 20 - (BOOL)isUsingEmbeddedAssetsForScopeKey:(NSString *)scopeKey; 21 - (BOOL)isStartedForScopeKey:(NSString *)scopeKey; 22 - (BOOL)isEmergencyLaunchForScopeKey:(NSString *)scopeKey; 23 - (void)requestRelaunchForScopeKey:(NSString *)scopeKey withCompletion:(EXUpdatesAppRelaunchCompletionBlock)completion; 24 25 @end 26 27 @protocol EXUpdatesDatabaseBindingDelegate 28 29 @property (nonatomic, strong, readonly) NSURL *updatesDirectory; 30 @property (nonatomic, strong, readonly) EXUpdatesDatabase *database; 31 32 @end 33 34 @interface EXUpdatesBinding : EXUpdatesService <EXInternalModule> 35 36 - (instancetype)initWithScopeKey:(NSString *)scopeKey updatesKernelService:(id<EXUpdatesBindingDelegate>)updatesKernelService databaseKernelService:(id<EXUpdatesDatabaseBindingDelegate>)databaseKernelService; 37 38 @end 39 40 NS_ASSUME_NONNULL_END 41 42 #endif 43