BBAJSBCallbackWrapper.h 848 Bytes
//
//  BBAJSBCallbackWrapper.h
//  SWAN
//
//  Created by baidu on 2018/10/10.
//  Copyright © 2018 baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <JavaScriptCore/JavaScriptCore.h>

NS_ASSUME_NONNULL_BEGIN



/**
 * 该对象作为js callback的包装器,不能被JSB对象持有,必须是NA对象
 */
@interface BBAJSBCallbackWrapper : NSObject

/**
 * @brief 创建 callback wrapper
 *
 * @param callback JS funciton value
 * @param executeThread execute thread
 * @return instance
 */
- (instancetype)initWithCallback:(JSValue *)callback thread:(NSThread *)executeThread;

/**
 * @brief 调用js callback, 所有callback在主线程调用
 *
 * @param callBackParams callback参数
 */
- (void)invokeCallback:(NSArray * _Nullable)callBackParams;

- (JSContext *)getCallbackJSContext;

@end

NS_ASSUME_NONNULL_END