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/EXUpdatesService.h> 7 8 @class EXUpdatesConfig; 9 @class EXUpdatesUpdate; 10 @class EXUpdatesSelectionPolicy; 11 @class EXUpdatesDatabase; 12 13 NS_ASSUME_NONNULL_BEGIN 14 15 @protocol EXUpdatesBindingDelegate 16 17 - (nullable EXUpdatesConfig *)configForScopeKey:(NSString *)scopeKey; 18 - (nullable EXUpdatesSelectionPolicy *)selectionPolicyForScopeKey:(NSString *)scopeKey; 19 - (nullable EXUpdatesUpdate *)launchedUpdateForScopeKey:(NSString *)scopeKey; 20 - (nullable NSDictionary *)assetFilesMapForScopeKey:(NSString *)scopeKey; 21 - (BOOL)isUsingEmbeddedAssetsForScopeKey:(NSString *)scopeKey; 22 - (BOOL)isStartedForScopeKey:(NSString *)scopeKey; 23 - (BOOL)isEmergencyLaunchForScopeKey:(NSString *)scopeKey; 24 - (void)requestRelaunchForScopeKey:(NSString *)scopeKey withCompletion:(EXUpdatesAppRelaunchCompletionBlock)completion; 25 26 @end 27 28 @protocol EXUpdatesDatabaseBindingDelegate 29 30 @property (nonatomic, strong, readonly) NSURL *updatesDirectory; 31 @property (nonatomic, strong, readonly) EXUpdatesDatabase *database; 32 33 @end 34 35 @interface EXUpdatesBinding : EXUpdatesService <EXInternalModule> 36 37 - (instancetype)initWithScopeKey:(NSString *)scopeKey updatesKernelService:(id<EXUpdatesBindingDelegate>)updatesKernelService databaseKernelService:(id<EXUpdatesDatabaseBindingDelegate>)databaseKernelService; 38 39 @end 40 41 NS_ASSUME_NONNULL_END 42 43 #endif 44