/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ #include #import #import namespace facebook { namespace react { class JSExecutorFactory; } } // This is a separate class so non-C++ implementations don't need to // take a C++ dependency. @protocol RCTCxxBridgeDelegate /** * In the RCTCxxBridge, if this method is implemented, return a * ExecutorFactory instance which can be used to create the executor. * If not implemented, or returns an empty pointer, JSCExecutorFactory * will be used. */ - (std::unique_ptr)jsExecutorFactoryForBridge:(RCTBridge *)bridge; @optional /** * Experimental: Perform installation of extra JS binding on the given JS context, as appropriate. */ - (void)installExtraJSBinding:(JSGlobalContextRef)jsContextRef; /** * Experimental: Get the instance of the extra module/class which gets bound via `installExtraJSBinding:` */ - (id)jsBoundExtraModuleForClass:(Class)moduleClass; @end