6.1 初始化与反初始化
初始化和反初始化是您的程序在集成CSSDK后进行的第一步和最后一步。您后续的接口调用应该都在初始化和反初始化之间。
6.1.1 初始化
初始化接口会配置服务器的接入地址,并进行SDK内部的其他初始流程。该接口调用之后,后续的所有包括登录、注销、以及事件监听等与服务器地址相关的操作都将基于该接口中配置的服务器地址进行。
接口定义
atrust_error_code ATRUST_API atrust_initial(const char *host);
参数和返回值说明
参数名 | 类型 | 出参/入参 | 必须 | 说明 |
---|---|---|---|---|
返回值 | atrust_error_code | out | 是 | aTrust标准错误及回复码 |
host | const char* | in | 是 | 认证服务器地址,支持schema+host以及host+port形式 |
示例代码
atrust_error_code ec = atrust_initial(m_sdpcAddr);
switch (ec) {
// 成功
case atrust_error_code::OK:
// aTrust SDK初始化成功!
break;
// 地址格式错误
case atrust_error_code::HOST_FORMAT_ERROR:
// 输入地址参数格式错误!
return;
// 未知的业务执行过程失败
default:
// 接口调用失败!请在atrust_code.h中检查错误码,或尝试重试。错误码:ec
return;
}
补充说明 包括初始化在内的后续很多接口,返回值都是atrust_error_code类型。对于这些返回值,可以分为3类:
成功 该结果表示您的业务执行成功,是最通常和理想的返回结果。
业务结果失败 该结果表示您的业务执行过程完整,但是业务执行失败了。该失败原因可能是您的参数有误,比如服务器地址格式错误;也可能是您执行了非法的业务流程,比如在没有更新可用的情况下执行更新操作。业务结果失败的错误对于某一个特定的SDK接口调用来说是已知的。建议您对每个接口的所有业务结果失败错误进行单独处理。
业务执行过程失败 业务执行过程失败意味着您的业务没有完整地执行,而是因为一些意外被终止了。最典型的一种情况是您在aTrust客户端未正确安装的情况下调用SDK接口,因此返回了ATRUST_CONNECT_ERROR(20002)错误,也就是本地aTrust客户端连接错误。您可能会碰到各种业务执行过程失败相关的错误,请您参考atrust_code.h中的错误码说明来获取对应的错误信息。 业务执行过程失败的错误对某一个特定的SDK接口调用来说是部分未知的。对于可以预见的业务执行过程失败,比如客户端连接失败,建议您单独对其进行处理;而对于无法预见的业务执行过程失败,比如服务器返回的未知错误,建议您对其进行统一的处理,并进行重试等类似异常处理的操作。
以上说明对后续所有atrust_error_code返回值类型的方法生效。
6.1.2 反初始化
该接口执行SDK关闭之前的动作,请在您的程序析构前调用。
接口定义
void ATRUST_API atrust_uninitial();
参数和返回值说明
无
示例代码
atrust_uninitial();
6.1.3 错误码汇总
错误码 | KEY | 描述 |
---|---|---|
0 | OK | 操作成功 |
20000 | HOST_FORMAT_ERROR | 服务器地址格式错误 |
注意:除了上述错误码处理,你仍需要处理未知错误码场景。