1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <React/RCTLog.h> 5 #import <React/RCTBridge.h> 6 7 #import "EXVersionUtils.h" 8 9 @class EXManifestsManifest; 10 11 @interface EXVersionManagerObjC : NSObject 12 13 - (nonnull instancetype)initWithParams:(nonnull NSDictionary *)params 14 manifest:(nonnull EXManifestsManifest *)manifest 15 fatalHandler:(void (^ _Nonnull)(NSError * _Nullable))fatalHandler 16 logFunction:(nonnull RCTLogFunction)logFunction 17 logThreshold:(RCTLogLevel)logThreshold; 18 19 - (void)bridgeWillStartLoading:(id)bridge; 20 - (void)bridgeFinishedLoading:(id)bridge; 21 - (void)invalidate; 22 23 /** 24 * Dev tools (implementation varies by SDK) 25 */ 26 - (void)showDevMenuForBridge:(id)bridge; 27 - (void)disableRemoteDebuggingForBridge:(id)bridge; 28 - (void)toggleRemoteDebuggingForBridge:(id)bridge; 29 - (void)togglePerformanceMonitorForBridge:(id)bridge; 30 - (void)toggleElementInspectorForBridge:(id)bridge; 31 - (uint32_t)addWebSocketNotificationHandler:(void (^)(NSDictionary<NSString *, id> *))handler 32 queue:(dispatch_queue_t)queue 33 forMethod:(NSString *)method; 34 35 - (NSDictionary<NSString *, NSString *> *)devMenuItemsForBridge:(id)bridge; 36 - (void)selectDevMenuItemWithKey:(NSString *)key onBridge:(id)bridge; 37 38 /** 39 * Provides the extra native modules required to set up a bridge with this version. 40 */ 41 - (NSArray *)extraModulesForBridge:(id)bridge; 42 43 - (void *)versionedJsExecutorFactoryForBridge:(id)bridge; 44 45 @end 46