mtc_cli.h 文件参考
MTC 客户端接口函数 更多
宏定义 | |
#define | MTC_REG_STATE_IDLE 0 |
MTC 注册状态。 更多 | |
#define | MTC_REG_STATE_REGING 1 |
注册中状态 | |
#define | MTC_REG_STATE_REGED 2 |
已注册状态 | |
#define | MTC_REG_STATE_REREGING 3 |
已注册状态下重注册中状态 | |
#define | MTC_REG_STATE_UNREGING 4 |
注销中状态 | |
#define | MTC_EBASE_CP 0xE000 |
MTC 错误/状态 代码 base. 更多 | |
#define | MTC_EBASE_REG 0xE100 |
注册基准错误码 | |
#define | MTC_EBASE_CALL 0xE200 |
呼叫基准错误码 | |
#define | MTC_EBASE_VSHARE 0xE300 |
视频共享基准错误码 | |
#define | MTC_EBASE_CAP 0xE400 |
能力查询基准错误码 | |
#define | MTC_EBASE_BUDDY 0xE500 |
网络好友基准错误码 | |
#define | MTC_EBASE_GRP 0xE600 |
网络群组基准错误码 | |
#define | MTC_EBASE_CONF 0xE700 |
音视频会议基准错误码 | |
#define | MTC_EBASE_GS 0xE800 |
地理位位置共享基准错误码 | |
#define | MTC_EBASE_PRES 0xE900 |
呈现基准错误码 | |
#define | MTC_EBASE_IM 0xEA00 |
即时消息基准错误码 | |
#define | MTC_EBASE_CONTACT 0xEB00 |
联系人基准错误码 | |
#define | MTC_EBASE_LOG 0xEC00 |
历史记录基准错误码 | |
#define | MTC_EBASE_LCS 0xED00 |
认证许可基准错误码 | |
#define | MTC_CLI_ERR_NO (MTC_EBASE_REG + 0) |
MTC 注册状态代码 更多 | |
#define | MTC_CLI_ERR_LCL_FAILED (MTC_EBASE_REG + 1) |
本地请求错误。 | |
#define | MTC_CLI_REG_ERR_SEND_MSG (MTC_EBASE_REG + 2) |
发送消息错误。 | |
#define | MTC_CLI_REG_ERR_AUTH_FAILED (MTC_EBASE_REG + 3) |
注册验证失败,无效用户或密码。 | |
#define | MTC_CLI_REG_ERR_INVALID_USER (MTC_EBASE_REG + 4) |
注册使用无效用户。 | |
#define | MTC_CLI_REG_ERR_TIMEOUT (MTC_EBASE_REG + 5) |
注册超时。 | |
#define | MTC_CLI_REG_ERR_SERV_BUSY (MTC_EBASE_REG + 6) |
注册服务器忙。 | |
#define | MTC_CLI_REG_ERR_SERV_NOT_REACH (MTC_EBASE_REG + 7) |
注册服务器不可及。 | |
#define | MTC_CLI_REG_ERR_SRV_FORBIDDEN (MTC_EBASE_REG + 8) |
注册禁止。 | |
#define | MTC_CLI_REG_ERR_SRV_UNAVAIL (MTC_EBASE_REG + 9) |
注册不可用。 | |
#define | MTC_CLI_REG_ERR_DNS_QRY (MTC_EBASE_REG + 10) |
注册 dns 请求错误。 | |
#define | MTC_CLI_REG_ERR_NETWORK (MTC_EBASE_REG + 11) |
注册网络错误。 | |
#define | MTC_CLI_REG_ERR_DEACTED (MTC_EBASE_REG + 12) |
注册未激活。 | |
#define | MTC_CLI_REG_ERR_PROBATION (MTC_EBASE_REG + 13) |
注册延缓。 | |
#define | MTC_CLI_REG_ERR_INTERNAL (MTC_EBASE_REG + 14) |
注册内部错误。 | |
#define | MTC_CLI_REG_ERR_NO_RESOURCE (MTC_EBASE_REG + 15) |
注册没有资源。 | |
#define | MTC_CLI_REG_ERR_OTHER (MTC_EBASE_REG + 16) |
其他注册错误。 | |
#define | MTC_CLI_OPEN_LAST(_ret) |
MTC 客户端打开最近的一个账户。 更多 | |
#define | MTC_ANET_UNAVAILABLE -2 |
#define | MTC_ANET_UNKNOWN -1 |
#define | MTC_ANET_MOBILE 0x0000 |
#define | MTC_ANET_MOBILE_GPRS 0x0001 |
#define | MTC_ANET_MOBILE_EDGE 0x0002 |
#define | MTC_ANET_MOBILE_UMTS 0x0003 |
#define | MTC_ANET_MOBILE_CDMA 0x0004 |
#define | MTC_ANET_MOBILE_EVDO_0 0x0005 |
#define | MTC_ANET_MOBILE_EVDO_A 0x0006 |
#define | MTC_ANET_MOBILE_1XRTT 0x0007 |
#define | MTC_ANET_MOBILE_HSDPA 0x0008 |
#define | MTC_ANET_MOBILE_HSUPA 0x0009 |
#define | MTC_ANET_MOBILE_HSPA 0x000A |
#define | MTC_ANET_MOBILE_IDEN 0x000B |
#define | MTC_ANET_MOBILE_EVDO_B 0x000C |
#define | MTC_ANET_MOBILE_LTE 0x000D |
#define | MTC_ANET_MOBILE_EHRPD 0x000E |
#define | MTC_ANET_MOBILE_HSPAP 0x000F |
#define | MTC_ANET_WIFI 0x0100 |
#define | MTC_ANET_WIMAX 0x0600 |
#define | MTC_ANET_BLUETOOTH 0x0700 |
#define | MTC_ANET_ETHERNET 0x0900 |
#define | MTC_ANET_MASK_CATEGORY 0xFF00 |
函数 | |
ZFUNC ZINT | Mtc_CliInit (ZCHAR *pcProfDir) |
初始化客户端资源。 更多 | |
ZFUNC ZVOID | Mtc_CliDestroy (ZFUNC_VOID) |
销毁客户端资源。 更多 | |
ZFUNC ZINT | Mtc_CliOpen (ZCHAR *pcUserName) |
打开一个账户。 更多 | |
ZFUNC ZVOID | Mtc_CliClose (ZFUNC_VOID) |
关闭当前账户。 更多 | |
ZFUNC ZINT | Mtc_CliStart (ZFUNC_VOID) |
开启客户端业务。 更多 | |
ZFUNC ZVOID | Mtc_CliStop (ZFUNC_VOID) |
停止客户端业务。 更多 | |
ZFUNC ZINT | Mtc_CliLogin (ZUINT iAccNetType, ZCONST ZCHAR *pcAccNetIp) |
开始登陆客户端。 更多 | |
ZFUNC ZINT | Mtc_CliEnterAkaRsp (ZUINT iCookie, ZCHAR *pcRsp, ZCHAR *pcCk, ZCHAR *pcIk, ZCHAR *pcAuts) |
输入 aka 的应答再次登陆客户端。 更多 | |
ZFUNC ZINT | Mtc_CliEnterDgstPwd (ZUINT iCookie, ZCHAR *pcPwd) |
输入摘要密码再次登陆客户端。 更多 | |
ZFUNC ZINT | Mtc_CliRefresh (ZFUNC_VOID) |
刷新注册。 更多 | |
ZFUNC ZINT | Mtc_CliLogout (ZFUNC_VOID) |
开始注销客户端。 更多 | |
ZFUNC ZINT | Mtc_CliInfo (ZCHAR *pcType, ZCHAR *pcInfo) |
发送信息消息。 更多 | |
ZFUNC ZUINT | Mtc_CliGetRegState (ZFUNC_VOID) |
获取用户注册状态。 更多 | |
ZFUNC ZINT | Mtc_CliDrive (ZEVNTID zEvntId) |
客户端驱动业务。 更多 | |
ZFUNC ZINT | Mtc_CliDetLclIp (ZFUNC_VOID) |
发现可用本地 IP 地址。 注册模式下可用。 更多 | |
ZFUNC ZINT | Mtc_CliDetLclIp2 (ZFUNC_VOID) |
根据注册和集合代理发现可用本地 IP 地址。 在注册模式下可用。 更多 | |
ZFUNC ZCONST ZCHAR * | Mtc_CliGetDevId (ZFUNC_VOID) |
获取设备 ID 字符串。 更多 | |
详细描述
MTC 客户端接口函数
TMTC 客户端启动过程如下: Mtc_CliInit --- 初始化系统资源 Mtc_CliOpen --- 开启一个用户 用于 配置规则 使用 Mtc_CliDbSetLocalIp 等其他 db 配置接口设置规则 Mtc_CliStart --- 开启客户端业务 MTC 客户端停止过程如下: Mtc_CliStop --- 停止客户端业务 Mtc_CliClose --- 关闭客户端用户 Mtc_CliDestroy --- 销毁系统资源 MTC 客户端用于支持多用户切换过程如下: Mtc_CliStop --- 停止客户端业务 Mtc_CliClose --- 关闭当前用户规则 Mtc_CliOpen --- 新开一个用户配置规则 使用 Mtc_CliDbSetLocalIp 等其他 db 配置接口设置规则 Mtc_CliStart --- 开启客户端业务
若 Zos_CfgGetModDrvMode 值为 ZTRUE, 表示 MTC 和 MSF 在不同的线程运行, 用户应实现由 Mtc_CliCbSetEvnt 所设置的回调并传送时间到UI线程。 UI线程应在接收事件后准确调用 Mtc_CliDrive。
若 Zos_CfgGetModDrvMode 值为 ZFALSE, 表示 MTC 和 MSF 在同一个线程中运行, MTC 将调用 Mtc_CliDrive。
宏定义说明
#define MTC_CLI_ERR_NO (MTC_EBASE_REG + 0)
MTC 注册状态代码
没有错误。
#define MTC_CLI_OPEN_LAST(
_ret)
值:
do { \
/* 获取当前账户用户 */ \
ZCHAR *pcCurUser = Mtc_ProvDbGetCurProfUser(); \
/* 检查账户是否存在,若存在打开客户端 */ \
if (!ZOS_ISEMPTY_STR(pcCurUser) && Mtc_ProfExistUser(pcCurUser)) \
_ret = Mtc_CliOpen(pcCurUser); \
else \
_ret = ZFAILED; \
} while (0)
MTC 客户端打开最近的一个账户。
#define MTC_EBASE_CP 0xE000
MTC 错误/状态 代码 base.
自动配置基准错误码
#define MTC_REG_STATE_IDLE 0
MTC 注册状态。
闲置状态
函数说明
ZFUNC ZVOID Mtc_CliClose (ZFUNC_VOID )
关闭当前账户。
ZFUNC ZVOID Mtc_CliDestroy (ZFUNC_VOID )
销毁客户端资源。
ZFUNC ZINT Mtc_CliDetLclIp (ZFUNC_VOID )
发现可用本地 IP 地址。 注册模式下可用。
若用户通过 Mtc_CliCfgSetUseDetLclIp 开启,客户端将自动 在开启业务并登录前调用它。
- 返回值
-
ZOK 发现可用本地 IP 成功。
ZFAILED 发现可用本地 IP 失败。
ZFUNC ZINT Mtc_CliDetLclIp2 (ZFUNC_VOID )
根据注册和集合代理发现可用本地 IP 地址。 在注册模式下可用。
若用户开启 Mtc_CliCfgSetUseDetLclIp,客户端将自动 在开启服务器前调用它,并且仅当集合代理存在时才会登陆。
- 返回值
-
ZOK 发现可用本地 IP 成功。
ZFAILED 发现可用本地 IP 失败。
ZFUNC ZINT Mtc_CliDrive (ZEVNTID zEvntId)
客户端驱动业务。
MTC 业务由 MSF 线程执行,用以多线程模式, MSF 在独立线程下运行,GUI 在另一线程下运行。 MTC 应用业务挂在于 GUI,因此在 GUI 中运行。 当 MSF 需要通知状态到 GUI,事件需要在两个线程下转移。 为了线程安全,业务事件将由 GUI 回调 Mtc_CliCbSetEvnt 从 MSF 发送到 GUI。 GUI 将通过此业务事件驱动 MTC。
- 参数
-
[in] zEvntId 来自 RSD 的业务事件。
- 返回值
-
ZOK 驱动业务成功。
ZFAILED 驱动业务失败。
ZFUNC ZINT Mtc_CliEnterAkaRsp (ZUINT iCookie, ZCHAR * pcRsp, ZCHAR * pcCk, ZCHAR * pcIk, ZCHAR * pcAuts )
输入 aka 的应答再次登陆客户端。
若 Mtc_CliDbGetAuthType 返回 EN_MTC_IMS_AUTH_IMS_AKA, 登陆结果将由 Mtc_CliCbSetAuthInd 所设置的回调通知,客户端必须输入 aka 的应答再次登陆。
- 返回值
-
ZOK 客户端正在登陆。
ZFAILED 客户端登录失败。
ZFUNC ZINT Mtc_CliEnterDgstPwd (ZUINT iCookie, ZCHAR * pcPwd )
输入摘要密码再次登陆客户端。
若 Mtc_CliDbGetAuthType 返回 EN_MTC_IMS_AUTH_SIP_DIGEST, 登陆结果将由 Mtc_CliCbSetAuthInd 所设置的回调通知。若之前没有可用密码, 客户端必须输入摘要密码再次登陆。
- 返回值
-
ZOK 客户端正在登陆。
ZFAILED 客户端登录失败。
ZFUNC ZCONST ZCHAR* Mtc_CliGetDevId (ZFUNC_VOID )
获取设备 ID 字符串。
- 返回
- 设备 ID 字符串。
ZFUNC ZUINT Mtc_CliGetRegState (ZFUNC_VOID )
获取用户注册状态。
- 返回
- 注册状态。状态见 MTC_REG_STATE_IDLE...
ZFUNC ZINT Mtc_CliInfo (ZCHAR * pcType, ZCHAR * pcInfo )
发送信息消息。
- 参数
-
[in] pcType 内容类型字符串,“纯文本”为 ZNULL。
[in] pcInfo 信息消息内容字符串。
- 返回值
-
ZOK 发送信息成功。
ZFAILED 发送信息失败。
ZFUNC ZINT Mtc_CliInit (ZCHAR * pcProfDir)
初始化客户端资源。
- 参数
-
[in] pcProfDir Profile directory
- 返回值
-
ZOK 初始化客户端资源成功。
MTC_LCS_ERR_NEED_ACT_LICSEN,初始化客户端资源失败, 你应该调用 Mtc_lcsActivate 激活认证许可。 &retval ZFAILED, 初始化客户端资源失败。
ZFUNC ZINT Mtc_CliLogin (ZUINT iAccNetType, ZCONST ZCHAR * pcAccNetIp )
开始登陆客户端。
- 参数
-
[in] iAccNetType 接入网络类型 EN_MTC_ACC_NET_TYPE.
[in] pcAccNetIp 接入网络 IP 字符串。 若 Mtc_CliDbGetUserReg 返回 ZTRUE, 登陆结果将由 Mtc_CliCbSetRegOk, Mtc_CliCbSetRegFailed, Mtc_CliCbSetServLoginOk 或 Mtc_CliCbSetLclLoginOk 或 Mtc_CliCbSetLoginFailed 或 Mtc_CliCbSetAuthInd 所设置的回调通知。. 否则,说明客户端不需要登陆到远程服务器, 并且将不需要任何GUI回调,立即返回。
- 返回值
-
ZOK 客户端正在登陆。
ZFAILED 客户端登录失败。
ZFUNC ZINT Mtc_CliLogout (ZFUNC_VOID )
开始注销客户端。
若 Mtc_DbGetUserReg 返回 ZTRUE, 注销结果将由 Mtc_CliCbSetLclLogout 和 Mtc_CliCbSetServLogout 所设置的回调通知。
- 返回值
-
ZOK 客户端正在注销。
ZFAILED 客户端注销失败。
ZFUNC ZINT Mtc_CliOpen (ZCHAR * pcUserName)
打开一个账户。
- 参数
-
[in] pcUserName 账户名称。 若账户名称为 ZNULL, 它将加载默认账户信息。 更改参数,调用 Mtc_CliDbSetLocalIp 等其他函数。
- 返回值
-
ZOK 开启一个账户成功。
ZFAILED 初始化账户失败。
ZFUNC ZINT Mtc_CliRefresh (ZFUNC_VOID )
刷新注册。
这一接口用于发送重新注册消息以刷新 服务器上的注册信息。尽管 SDK 将根据到期时长 自动发送重新注册消息,但在某些情况下客户当想要发送 重新注册消息以保持有效的 注册信息。如在手机平台, SDK 将不会根据背景模式及时发送重新注册消息。 这一情况下,应用应该调用此接口手动发送 重新注册消息,发现背景模式下可能出现的错误。 这一接口只有在客户端登陆后才能被调用。 Mtc_CliCbSetLclLoginOk.
- 返回值
-
ZOK 客户端发送重新注册消息成功。
ZFAILED 客户端发送重新注册消息失败。
ZFUNC ZINT Mtc_CliStart (ZFUNC_VOID )
ZFUNC ZVOID Mtc_CliStop (ZFUNC_VOID )
停止客户端业务。
do { \ /* 获取当前账户用户 */ \ ZCHAR *pcCurUser = Mtc_ProvDbGetCurProfUser(); \ /* 检查账户是否存在,若存在打开客户端 */ \ if (!ZOS_ISEMPTY_STR(pcCurUser) && Mtc_ProfExistUser(pcCurUser)) \ _ret = Mtc_CliOpen(pcCurUser); \ else \ _ret = ZFAILED; \ } while (0)
MTC 客户端打开最近的一个账户。
#define MTC_EBASE_CP 0xE000
MTC 错误/状态 代码 base.
自动配置基准错误码
#define MTC_REG_STATE_IDLE 0
MTC 注册状态。
闲置状态
函数说明
ZFUNC ZVOID Mtc_CliClose (ZFUNC_VOID )
关闭当前账户。
ZFUNC ZVOID Mtc_CliDestroy (ZFUNC_VOID )
销毁客户端资源。
ZFUNC ZINT Mtc_CliDetLclIp (ZFUNC_VOID )
发现可用本地 IP 地址。 注册模式下可用。
若用户通过 Mtc_CliCfgSetUseDetLclIp 开启,客户端将自动 在开启业务并登录前调用它。
- 返回值
-
ZOK 发现可用本地 IP 成功。 ZFAILED 发现可用本地 IP 失败。
ZFUNC ZINT Mtc_CliDetLclIp2 (ZFUNC_VOID )
根据注册和集合代理发现可用本地 IP 地址。 在注册模式下可用。
若用户开启 Mtc_CliCfgSetUseDetLclIp,客户端将自动 在开启服务器前调用它,并且仅当集合代理存在时才会登陆。
- 返回值
-
ZOK 发现可用本地 IP 成功。 ZFAILED 发现可用本地 IP 失败。
ZFUNC ZINT Mtc_CliDrive (ZEVNTID zEvntId)
客户端驱动业务。
MTC 业务由 MSF 线程执行,用以多线程模式, MSF 在独立线程下运行,GUI 在另一线程下运行。 MTC 应用业务挂在于 GUI,因此在 GUI 中运行。 当 MSF 需要通知状态到 GUI,事件需要在两个线程下转移。 为了线程安全,业务事件将由 GUI 回调 Mtc_CliCbSetEvnt 从 MSF 发送到 GUI。 GUI 将通过此业务事件驱动 MTC。
- 参数
-
[in] zEvntId 来自 RSD 的业务事件。
- 返回值
-
ZOK 驱动业务成功。 ZFAILED 驱动业务失败。
ZFUNC ZINT Mtc_CliEnterAkaRsp (ZUINT iCookie, ZCHAR * pcRsp, ZCHAR * pcCk, ZCHAR * pcIk, ZCHAR * pcAuts )
输入 aka 的应答再次登陆客户端。
若 Mtc_CliDbGetAuthType 返回 EN_MTC_IMS_AUTH_IMS_AKA, 登陆结果将由 Mtc_CliCbSetAuthInd 所设置的回调通知,客户端必须输入 aka 的应答再次登陆。
- 返回值
-
ZOK 客户端正在登陆。 ZFAILED 客户端登录失败。
ZFUNC ZINT Mtc_CliEnterDgstPwd (ZUINT iCookie, ZCHAR * pcPwd )
输入摘要密码再次登陆客户端。
若 Mtc_CliDbGetAuthType 返回 EN_MTC_IMS_AUTH_SIP_DIGEST, 登陆结果将由 Mtc_CliCbSetAuthInd 所设置的回调通知。若之前没有可用密码, 客户端必须输入摘要密码再次登陆。
- 返回值
-
ZOK 客户端正在登陆。 ZFAILED 客户端登录失败。
ZFUNC ZCONST ZCHAR* Mtc_CliGetDevId (ZFUNC_VOID )
获取设备 ID 字符串。
- 返回
- 设备 ID 字符串。
ZFUNC ZUINT Mtc_CliGetRegState (ZFUNC_VOID )
获取用户注册状态。
- 返回
- 注册状态。状态见 MTC_REG_STATE_IDLE...
ZFUNC ZINT Mtc_CliInfo (ZCHAR * pcType, ZCHAR * pcInfo )
发送信息消息。
- 参数
-
[in] pcType 内容类型字符串,“纯文本”为 ZNULL。 [in] pcInfo 信息消息内容字符串。
- 返回值
-
ZOK 发送信息成功。 ZFAILED 发送信息失败。
ZFUNC ZINT Mtc_CliInit (ZCHAR * pcProfDir)
初始化客户端资源。
- 参数
-
[in] pcProfDir Profile directory
- 返回值
-
ZOK 初始化客户端资源成功。 MTC_LCS_ERR_NEED_ACT_LICSEN,初始化客户端资源失败, 你应该调用 Mtc_lcsActivate 激活认证许可。 &retval ZFAILED, 初始化客户端资源失败。
ZFUNC ZINT Mtc_CliLogin (ZUINT iAccNetType, ZCONST ZCHAR * pcAccNetIp )
开始登陆客户端。
- 参数
-
[in] iAccNetType 接入网络类型 EN_MTC_ACC_NET_TYPE. [in] pcAccNetIp 接入网络 IP 字符串。 若 Mtc_CliDbGetUserReg 返回 ZTRUE, 登陆结果将由 Mtc_CliCbSetRegOk, Mtc_CliCbSetRegFailed, Mtc_CliCbSetServLoginOk 或 Mtc_CliCbSetLclLoginOk 或 Mtc_CliCbSetLoginFailed 或 Mtc_CliCbSetAuthInd 所设置的回调通知。. 否则,说明客户端不需要登陆到远程服务器, 并且将不需要任何GUI回调,立即返回。
- 返回值
-
ZOK 客户端正在登陆。 ZFAILED 客户端登录失败。
ZFUNC ZINT Mtc_CliLogout (ZFUNC_VOID )
开始注销客户端。
若 Mtc_DbGetUserReg 返回 ZTRUE, 注销结果将由 Mtc_CliCbSetLclLogout 和 Mtc_CliCbSetServLogout 所设置的回调通知。
- 返回值
-
ZOK 客户端正在注销。 ZFAILED 客户端注销失败。
ZFUNC ZINT Mtc_CliOpen (ZCHAR * pcUserName)
打开一个账户。
- 参数
-
[in] pcUserName 账户名称。 若账户名称为 ZNULL, 它将加载默认账户信息。 更改参数,调用 Mtc_CliDbSetLocalIp 等其他函数。
- 返回值
-
ZOK 开启一个账户成功。 ZFAILED 初始化账户失败。
ZFUNC ZINT Mtc_CliRefresh (ZFUNC_VOID )
刷新注册。
这一接口用于发送重新注册消息以刷新 服务器上的注册信息。尽管 SDK 将根据到期时长 自动发送重新注册消息,但在某些情况下客户当想要发送 重新注册消息以保持有效的 注册信息。如在手机平台, SDK 将不会根据背景模式及时发送重新注册消息。 这一情况下,应用应该调用此接口手动发送 重新注册消息,发现背景模式下可能出现的错误。 这一接口只有在客户端登陆后才能被调用。 Mtc_CliCbSetLclLoginOk.
- 返回值
-
ZOK 客户端发送重新注册消息成功。 ZFAILED 客户端发送重新注册消息失败。
ZFUNC ZINT Mtc_CliStart (ZFUNC_VOID )
ZFUNC ZVOID Mtc_CliStop (ZFUNC_VOID )
停止客户端业务。