2015-03-23 13:28:42 -07:00
|
|
|
/**
|
|
|
|
* 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.
|
|
|
|
*/
|
2015-02-19 20:10:52 -08:00
|
|
|
|
|
|
|
#import <JavaScriptCore/JavaScriptCore.h>
|
|
|
|
|
2015-04-23 08:04:16 -07:00
|
|
|
#import "RCTJavaScriptExecutor.h"
|
2015-02-19 20:10:52 -08:00
|
|
|
|
2016-02-12 03:49:51 -08:00
|
|
|
/**
|
|
|
|
* Default name for the JS thread
|
|
|
|
*/
|
|
|
|
RCT_EXTERN NSString *const RCTJSCThreadName;
|
|
|
|
|
2016-02-15 12:57:21 -08:00
|
|
|
/**
|
|
|
|
* This notification fires on the JS thread immediately after a `JSContext`
|
|
|
|
* is fully initialized, but before the JS bundle has been loaded. The object
|
|
|
|
* of this notification is the `JSContext`. Native modules should listen for
|
|
|
|
* notification only if they need to install custom functionality into the
|
|
|
|
* context. Note that this notification won't fire when debugging in Chrome.
|
|
|
|
*/
|
|
|
|
RCT_EXTERN NSString *const RCTJavaScriptContextCreatedNotification;
|
|
|
|
|
2015-02-19 20:10:52 -08:00
|
|
|
/**
|
|
|
|
* Uses a JavaScriptCore context as the execution engine.
|
|
|
|
*/
|
2015-12-16 02:49:27 -08:00
|
|
|
@interface RCTJSCExecutor : NSObject <RCTJavaScriptExecutor>
|
2015-02-19 20:10:52 -08:00
|
|
|
|
|
|
|
/**
|
2015-10-19 03:49:43 -07:00
|
|
|
* Configures the executor to run JavaScript on a specific thread with a given JS context.
|
2015-02-19 20:10:52 -08:00
|
|
|
* You probably don't want to use this; use -init instead.
|
|
|
|
*/
|
|
|
|
- (instancetype)initWithJavaScriptThread:(NSThread *)javaScriptThread
|
2015-10-19 03:49:43 -07:00
|
|
|
context:(JSContext *)context NS_DESIGNATED_INITIALIZER;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Like -[initWithJavaScriptThread:context:] but uses JSGlobalContextRef from JavaScriptCore's C API.
|
|
|
|
*/
|
|
|
|
- (instancetype)initWithJavaScriptThread:(NSThread *)javaScriptThread
|
|
|
|
globalContextRef:(JSGlobalContextRef)contextRef;
|
2015-02-19 20:10:52 -08:00
|
|
|
|
|
|
|
@end
|