Files
yinmeng-ios/xplan-ios/Library/RPSDK/SGMain.framework/Headers/ISecurityGuardOpenLiteVMService.h

156 lines
5.2 KiB
C
Raw Normal View History

2021-09-23 14:52:12 +08:00
//
// ISecurityGuardOpenLiteVMService.h
// SecurityGuardMain
//
// Created by lifengzhong on 15/12/17.
// Copyright © 2015年 Li Fengzhong. All rights reserved.
//
#ifndef ISecurityGuardOpenLiteVMService_h
#define ISecurityGuardOpenLiteVMService_h
#if TARGET_OS_WATCH
#import <SecurityGuardSDKWatch/Open/IOpenSecurityGuardPlugin.h>
#else
#import <SecurityGuardSDK/Open/IOpenSecurityGuardPlugin.h>
#endif
@class LiteVMInstance;
/**
LVM参数封装类 charunsigned charintunsigned intlong
unsigned longlong longunsigned long longNSStringNSData类型的入参
*/
@interface LiteVMParameterWrapper : NSObject
+ (LiteVMParameterWrapper*) createCharParameter: (char) value;
+ (LiteVMParameterWrapper*) createUnsignedCharParameter: (unsigned char) value;
+ (LiteVMParameterWrapper*) createIntParameter: (int) value;
+ (LiteVMParameterWrapper*) createUnsignedIntParameter: (unsigned int) value;
+ (LiteVMParameterWrapper*) createLongParameter: (long) value;
+ (LiteVMParameterWrapper*) createUnsignedLongParameter: (unsigned long) value;
+ (LiteVMParameterWrapper*) createLongLongParameter: (long long) value;
+ (LiteVMParameterWrapper*) createUnsignedLongLongParameter: (unsigned long long) value;
+ (LiteVMParameterWrapper*) createStringParameter: (NSString*) value;
+ (LiteVMParameterWrapper*) createDataParameter: (NSData*) value;
@end
/**
LVM接口封装类
*/
@protocol ISecurityGuardOpenLiteVMService <NSObject, IOpenSecurityGuardPluginInterface>
/**
LVM实例
@param authCode idbianry一一对应
@param bizId binary code分配的name binary中可以有多个binarycodebiz id来索引
@param binary bianry code的二进制
@param symbolArray binary code依赖符号的数组
@param error
@return bizId和binaryCode生成的vm实例
*/
- (LiteVMInstance*) createLiteVMInstanceWithAuthCode: (NSString*) authCode
bizId: (NSString*) bizId
binary: (NSData*) binary
requiredSymbol: (NSArray*) symbolArray
error: (NSError**) error;
- (LiteVMInstance*) createLiteVMInstanceWithAuthCodeAndSymbols: (NSString*) authCode
bizId: (NSString*) bizId
binary: (NSData*) binary
requiredSymbol: (void*) symbolArray
error: (NSError**) error;
/**
LVM实例重新加载binary code
@param instance LVM实例
@param binaryCode binary code
@param error
*/
2022-05-17 18:11:11 +08:00
- (BOOL) reloadLiteVMInstance: (LiteVMInstance*) instance
2021-09-23 14:52:12 +08:00
binary: (NSData*) binaryCode
error: (NSError**) error;
/**
LVM实例
@param instance LVM实例
@param error
*/
2022-05-17 18:11:11 +08:00
- (BOOL) destroyLiteVMInstance: (LiteVMInstance*) instance
2021-09-23 14:52:12 +08:00
error: (NSError**) error;
/**
LVM函数
@param instance LVM实例
@param index binary code中的index binary code中可以有多个函数0
@param param
@param error
*/
2022-05-17 18:11:11 +08:00
- (BOOL) callLiteVMVoidMethod: (LiteVMInstance*) instance
2021-09-23 14:52:12 +08:00
funtionIndex: (int) index
paramArray: (NSArray<LiteVMParameterWrapper*>*) param
error: (NSError**) error;
/**
longLVM函数
@param instance LVM实例
@param index binary code中的index binary code中可以有多个函数0
@param param
@param error
@return long型结果
*/
- (long) callLiteVMLongMethod: (LiteVMInstance*) instance
funtionIndex: (int) index
paramArray: (NSArray<LiteVMParameterWrapper*>*) param
error: (NSError**) error;
/**
NSString类型的LVM函数
@param instance LVM实例
@param index binary code中的index binary code中可以有多个函数0
@param param
@param error
@return NSString返回值
*/
- (NSString*) callLiteVMStringMethod: (LiteVMInstance*) instance
funtionIndex: (int) index
paramArray: (NSArray<LiteVMParameterWrapper*>*) param
error: (NSError**) error;
/**
NSData类型的LVM函数
@param instance LVM实例
@param index binary code中的index binary code中可以有多个函数0
@param param
@param error
@return NSData返回值
*/
- (NSData*) callLiteVMByteMethod: (LiteVMInstance*) instance
funtionIndex: (int) index
paramArray: (NSArray<LiteVMParameterWrapper*>*) param
error: (NSError**) error;
@end
#endif /* ISecurityGuardOpenLiteVMService_h */