BBAJSBForwardBaseObject.h 1.28 KB
//
//  BBAJSBForwardBaseObject.h
//  SWAN
//
//  Created by baidu on 2018/11/24.
//  Copyright © 2018 baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BBAJSBindingEventBase.h"
#import "BBAJSBindingEnvExportProtocol.h"

NS_ASSUME_NONNULL_BEGIN

@interface BBAJSBForwardBaseObject : NSObject


/// app id
@property (nonatomic, copy, readonly) NSString *appId;

/**
 * @brief 抛出js异常
 *
 * @param errorType 异常类型
 * @param message 异常信息
 */
- (void)throwJsErrorWithErrorType:(BBAJSErrorTypes)errorType errorMessage:(NSString *)message;

/**
 * @brief 触发事件回调
 *
 * @param eventName 事件名
 * @param args 参数
 */
- (void)triggerEventWithEventName:(NSString *)eventName arguments:(NSArray *)args;

/**
 * @brief 业务逻辑层保护js层的jsb对象,可以理解为引用计数+1,与unProtectJSBindingObject成对使用
 *
 */
- (void)protectJSBindingObject;

/**
 * @brief  业务逻辑层解保护js层的jsb对象,可以理解为引用计数-1,与protectJSBindingObject成对使用
 *
 */
- (void)unProtectJSBindingObject;

/**
 * @brief 从native对象判断对应的js对象类型
 *
 * @param nativeObject native对象
 * @return js type string
 */
- (NSString *)jsTypeStringFromNativeObject:(id)nativeObject;

@end

NS_ASSUME_NONNULL_END