1 // Copyright 2020-present 650 Industries. All rights reserved. 2 3 #if __has_include(<EXUpdates/EXUpdatesService.h>) 4 #import <Foundation/Foundation.h> 5 #import <UMCore/UMInternalModule.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 *)configForExperienceId:(NSString *)experienceId; 17 - (id<EXUpdatesSelectionPolicy>)selectionPolicyForExperienceId:(NSString *)experienceId; 18 - (nullable EXUpdatesUpdate *)launchedUpdateForExperienceId:(NSString *)experienceId; 19 - (nullable NSDictionary *)assetFilesMapForExperienceId:(NSString *)experienceId; 20 - (BOOL)isUsingEmbeddedAssetsForExperienceId:(NSString *)experienceId; 21 - (BOOL)isStartedForExperienceId:(NSString *)experienceId; 22 - (BOOL)isEmergencyLaunchForExperienceId:(NSString *)experienceId; 23 - (void)requestRelaunchForExperienceId:(NSString *)experienceId 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 <UMInternalModule> 35 36 - (instancetype)initWithExperienceId:(NSString *)experienceId updatesKernelService:(id<EXUpdatesBindingDelegate>)updatesKernelService databaseKernelService:(id<EXUpdatesDatabaseBindingDelegate>)databaseKernelService; 37 38 @end 39 40 NS_ASSUME_NONNULL_END 41 42 #endif 43