diff --git a/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md index 54b413dd6cc5cffb4ecc358c368f1ef593520851..83150d465bf78878ad6b1cabe6716d2c14c95cd6 100644 --- a/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md @@ -1,21 +1,21 @@ # SDK开发过程 -SDK头文件的功能实现是基于对SDK的调用映射到对客户端的调用。客户端端提供的接口如下表所示。 +SDK头文件的功能实现是基于对SDK的调用映射到对客户端的调用。Client端提供的接口如下表所示。 **表1** Client端提供的接口 | 接口名 | 接口说明 | 参数要求 | | -------- | -------- | -------- | -| int **AieClientInit**(const ConfigInfo &configInfo,
 ClientInfo &clientInfo, const AlgorithmInfo
 &algorithmInfo, IServiceDeadCb \*cb) | **作用**:链接并初始化引擎服务,激活跨进程调用。
**返回值**:0为成功,其他返回值失败。 | **configInfo**(NOT NULL):引擎相关初始化配置数据;
**clientInfo**(NOT NULL):引擎客户端信息;
**algorithmInfo**(NOT NULL):调用算法信息;
**cb**(可为NULL):死亡回调 对象; | -| int **AieClientPrepare**(const ClientInfo &clientInfo
, const AlgorithmInfo &algorithmInfo, const DataInfo
 &inputInfo, DataInfo &outputInfo, IClientCb \*cb) | **作用**:加载算法插件。
**返回值**: 0为成功,其他返回值失败。 | **clientInfo**(NOT NULL):引擎客户端信息;
**algorithmInfo**(NOT NULL):调用算法信息;
**inputInfo**(可为NULL):加载算法插件时输入所需信息;
**outputInfo**(可为NULL):加载算法插件之后如需返回信息则通过此出参返回;
**cb**:异步算法通过此回调返回运算结果,因此**异步算法此结构体不能为空**;若为同步算法,传入空值即可; | -| int **AieClientAsyncProcess**(const ClientInfo &clientInfo,
 const AlgorithmInfo &algorithmInfo, const DataInfo
 &inputInfo) | **作用**:执行异步算法。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(NOT NULL):引擎客户端信息;
**algorithmInfo**(NOT NULL):调用算法信息;
**inputInfo**(可为NULL):算法运算入参; | -| int **AieClientSyncProcess**(const ClientInfo &clientInfo,
 const AlgorithmInfo &algorithmInfo, const
 DataInfo &inputInfo, DataInfo &outputInfo) | **作用**:执行同步算法。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(NOT NULL):引擎客户端信息;
**algorithmInfo**(NOT NULL):调用算法信息;
**inputInfo**(可为NULL):算法运算入参;
**outputInfo**(可为NULL):同步算法运算结果出参; | -| int **AieClientRelease**(const ClientInfo &clientInfo,
 const AlgorithmInfo &algorithmInfo, const
 DataInfo &inputInfo) | **作用**:卸载算法插件。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(NOT NULL):引擎客户端信息;
**algorithmInfo**(NOT NULL):卸载算法插件的相关信息;
**inputInfo**(可为NULL):调用卸载接口时的输入信息; | -| int **AieClientDestroy**(ClientInfo &clientInfo) | **作用**:断开与服务端的链接,释放相关缓存。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(NOT NULL):所要销毁的引擎客户端信息; | -| int **AieClientSetOption**(const ClientInfo &clientInfo,
 int optionType, const DataInfo &inputInfo) | **作用**:设置配置项,可将一些算法的拓展信息通过此接口传入插件。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(NOT NULL):引擎客户端信息;
**optionType** (NOT NULL):算法配置项,算法插件可根据需要利用此状态位;
**inputInfo**(可为NULL):插件可根据需要通过此入参设置算法参数信息; | -| int **AieClientGetOption**(const ClientInfo &clientInfo,
 int optionType, const DataInfo &inputInfo,
 DataInfo &outputInfo) | **作用**:给定特定的optionType和inputInfo,获取其对应的配置项信息。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(NOT NULL):引擎客户端信息;
**optionType**(NOT NULL):所获取配置项信息的对应算法状态位;
**inputInfo**(可为NULL):所获取配置项信息的对应算法参数信息;
**outputInfo**(可为NULL):所要获取的配置项信息返回结果; | +| int **AieClientInit**(const ConfigInfo &configInfo,
 ClientInfo &clientInfo, const AlgorithmInfo
 &algorithmInfo, IServiceDeadCb \*cb) | **作用**:链接并初始化引擎服务,激活跨进程调用。
**返回值**:0为成功,其他返回值失败。 | **configInfo**(不能为NULL):引擎相关初始化配置数据
**clientInfo**(不能为NULL):引擎客户端信息
**algorithmInfo**(不能为NULL):调用算法信息
**cb**(可为NULL):死亡回调对象 | +| int **AieClientPrepare**(const ClientInfo &clientInfo
, const AlgorithmInfo &algorithmInfo, const DataInfo
 &inputInfo, DataInfo &outputInfo, IClientCb \*cb) | **作用**:加载算法插件。
**返回值**: 0为成功,其他返回值失败。 | **clientInfo**(不能为NULL):引擎客户端信息
**algorithmInfo**(不能为NULL):调用算法信息
**inputInfo**(可为NULL):加载算法插件时输入所需信息
**outputInfo**(可为NULL):加载算法插件之后如需返回信息则通过此出参返回
**cb**:异步算法通过此回调返回运算结果,因此**异步算法此结构体不能为空** 若为同步算法,传入空值即可 | +| int **AieClientAsyncProcess**(const ClientInfo &clientInfo,
 const AlgorithmInfo &algorithmInfo, const DataInfo
 &inputInfo) | **作用**:执行异步算法。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(不能为NULL):引擎客户端信息
**algorithmInfo**(不能为NULL):调用算法信息
**inputInfo**(可为NULL):算法运算入参 | +| int **AieClientSyncProcess**(const ClientInfo &clientInfo,
 const AlgorithmInfo &algorithmInfo, const
 DataInfo &inputInfo, DataInfo &outputInfo) | **作用**:执行同步算法。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(不能为NULL):引擎客户端信息
**algorithmInfo**(不能为NULL):调用算法信息
**inputInfo**(可为NULL):算法运算入参
**outputInfo**(可为NULL):同步算法运算结果出参 | +| int **AieClientRelease**(const ClientInfo &clientInfo,
 const AlgorithmInfo &algorithmInfo, const
 DataInfo &inputInfo) | **作用**:卸载算法插件。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(不能为NULL):引擎客户端信息
**algorithmInfo**(不能为NULL):卸载算法插件的相关信息
**inputInfo**(可为NULL):调用卸载接口时的输入信息 | +| int **AieClientDestroy**(ClientInfo &clientInfo) | **作用**:断开与服务端的链接,释放相关缓存。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(不能为NULL):所要销毁的引擎客户端信息 | +| int **AieClientSetOption**(const ClientInfo &clientInfo,
 int optionType, const DataInfo &inputInfo) | **作用**:设置配置项,可将一些算法的拓展信息通过此接口传入插件。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(不能为NULL):引擎客户端信息
**optionType** (不能为NULL):算法配置项,算法插件可根据需要利用此状态位
**inputInfo**(可为NULL):插件可根据需要通过此入参设置算法参数信息 | +| int **AieClientGetOption**(const ClientInfo &clientInfo,
 int optionType, const DataInfo &inputInfo,
 DataInfo &outputInfo) | **作用**:给定特定的optionType和inputInfo,获取其对应的配置项信息。
**返回值**:0为成功,其他返回值失败。 | **clientInfo**(不能为NULL):引擎客户端信息
**optionType**(不能为NULL):所获取配置项信息的对应算法状态位
**inputInfo**(可为NULL):所获取配置项信息的对应算法参数信息
**outputInfo**(可为NULL):所要获取的配置项信息返回结果 | 其中,ConfigInfo,ClientInfo,AlgorithmInfo,DataInfo的数据结构如下表所示。 @@ -25,10 +25,10 @@ SDK头文件的功能实现是基于对SDK的调用映射到对客户端的调 | 结构体名称 | 说明 | 属性 | | -------- | -------- | -------- | -| ConfigInfo | 算法配置项信息。 | **const char \*description**:配置项信息主体; | -| ClientInfo | 客户端信息。 | **long long clientVersion**:客户端设备版本号(当前还未启用);
**int clientId**:客户端ID;
**int sessionId:**会话ID;
**uid_t serverUid**:server端UID;
**uid_t clientUid:**client端UID;
**int extendLen**:拓展信息(extendMsg)长度;
**unsigned char \*extendMsg**:拓展信息主体; | -| AlgorithmInfo | 算法信息。 | **long long clientVersion**:客户端设备版本号(当前还未启用);
**bool isAsync**:是否为异步执行;
**int algorithmType:**引擎框架根据插件加载顺序分配的算法类型ID;
**long long algorithmVersion**:算法版本号;
**bool isCloud**:是否上云(当前还未启用);
**int operateId**:执行ID(当前还未启用);
**int requestId**:请求ID,标识每次request,以对应执行结果;
**int extendLen**:拓展信息(extendMsg)长度;
**unsigned char \*extendMsg**:拓展信息主体; | -| DataInfo | 算法数据入参(inputInfo)、
接口调用结果出参(outputInfo)。 | **unsigned char \*data:**数据主体;
**int length**:数据(data)长度; | +| ConfigInfo | 算法配置项信息。 | **const char \*description**:配置项信息主体 | +| ClientInfo | 客户端信息。 | **long long clientVersion**:客户端设备版本号(当前还未启用)
**int clientId**:客户端ID
**int sessionId**:会话ID
**uid_t serverUid**:server端UID
**uid_t clientUid**:client端UID
**int extendLen**:拓展信息(extendMsg)长度
**unsigned char \*extendMsg**:拓展信息主体 | +| AlgorithmInfo | 算法信息。 | **long long clientVersion**:客户端设备版本号(当前还未启用)
**bool isAsync**:是否为异步执行
**int algorithmType**:引擎框架根据插件加载顺序分配的算法类型ID
**long long algorithmVersion**:算法版本号
**bool isCloud**:是否上云(当前还未启用)
**int operateId**:执行ID(当前还未启用)
**int requestId**:请求ID,标识每次request,以对应执行结果
**int extendLen**:拓展信息(extendMsg)长度
**unsigned char \*extendMsg**:拓展信息主体 | +| DataInfo | 算法数据入参(inputInfo)、
接口调用结果出参(outputInfo)。 | **unsigned char \*data**:数据主体
**int length**:数据(data)长度 | 具体开发过程可参考[唤醒词识别SDK开发示例](../subsystems/subsys-aiframework-demo-sdk.md)。