SmartAudio/package/libs/libyunxin/lib/include/api/nim_client.h

211 lines
13 KiB
C
Raw Normal View History

2018-07-16 02:33:31 +00:00
/** @file nim_client.h
* @brief SDK接入 SDK初始化//退//线/
* NIM SDK所有接口命名说明: nim_***()_***()nim_client_init
* NIM SDK所有接口参数说明: (char *)UTF-8
* @copyright (c) 2015-2017, NetEase Inc. All rights reserved
* @author Harrison
* @date 2015/2/1
*/
#ifndef NIM_SDK_DLL_API_NIM_CLIENT_H_
#define NIM_SDK_DLL_API_NIM_CLIENT_H_
#include "nim_sdk_dll.h"
#include "../export_headers/nim_client_def.h"
#include "../util/stdbool.h"
#ifdef __cplusplus
extern"C"
{
#endif
/** @fn bool nim_client_init(const char *app_data_dir, const char *app_install_dir, const char *json_extension)
* NIM SDK初始化JSON参数定义见nim_client_def.h
* @param[in] app_data_dir 使)使
* @param[in] app_install_dir SDK可以自动获取
* @param[in] json_extension json扩展参数APP_KEY
* @return bool true: false:
*/
NIM_SDK_DLL_API bool nim_client_init(const char *app_data_dir, const char *app_install_dir, const char *json_extension);
/** @fn void nim_client_cleanup(const char *json_extension)
* NIM SDK清理JSON参数定义见nim_client_def.h
* @param[in] json_extension json扩展参数
* @return void
*/
NIM_SDK_DLL_API void nim_client_cleanup(const char *json_extension);
/** @fn void nim_client_update_apns_token(const char *device_token)
* (PC SDK该接口无效)Device TokeniOS推送使用
* @param[in] device_token device token
* @return void
*/
NIM_SDK_DLL_API void nim_client_update_apns_token(const char *device_token);
/** @fn void nim_client_login(const char *app_key, const char *account, const char *token, const char *json_extension, nim_json_transport_cb_func cb, const void *user_data)
* NIM客户端登录JSON参数定义见nim_client_def.h
* @param[in] app_key APP key
* @param[in] account APP account
* @param[in] token (token)
* @param[in] json_extension json扩展参数
* @param[in] cb nim_json_transport_cb_func回调函数定义见nim_global_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 302:
* 403:
* 408:
* 414:
* 415:
* 416:
* 422:
*/
NIM_SDK_DLL_API void nim_client_login(const char *app_key, const char *account, const char *token, const char *json_extension, nim_json_transport_cb_func cb, const void *user_data);
/** @fn int nim_client_get_login_state(const char *json_extension)
* NIM客户端登录状态
* @param[in] json_extension json扩展参数
* @return int
*/
NIM_SDK_DLL_API int nim_client_get_login_state(const char *json_extension);
/** @fn void nim_client_relogin(const char *json_extension)
* NIM客户端手动重连 APP需要统一处理自动重连/
* @param[in] json_extension json扩展参数
* @return void
*/
NIM_SDK_DLL_API void nim_client_relogin(const char *json_extension);
/** @fn void nim_client_logout(enum NIMLogoutType logout_type, const char *json_extension, nim_json_transport_cb_func cb, const void *user_data)
* NIM客户端注销/退JSON参数定义见nim_client_def.h
* @param[in] logout_type Logout操作类型nim_client_def.h
* @param[in] json_extension json扩展参数
* @param[in] cb /退 nim_json_transport_cb_func回调函数定义见nim_global_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 500:
*/
NIM_SDK_DLL_API void nim_client_logout(enum NIMLogoutType logout_type, const char *json_extension, nim_json_transport_cb_func cb, const void *user_data);
/** @fn void nim_client_kick_other_client(const char *json_extension)
* 线
* @param[in] json_extension nim_client_def.h
* @return void nim_client_reg_kickout_other_client_cb回调得到结果
*/
NIM_SDK_DLL_API void nim_client_kick_other_client(const char *json_extension);
/** @fn void nim_client_reg_auto_relogin_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data)
* ()NIM客户端自动重连回调kNIMResTimeoutError和kNIMResConnectionErrorkNIMResSuccess的错误号
* APP层调用nim_client_logout执行注销操作并退回到登录界面后进行重新登录
* @param[in] json_extension json扩展参数
* @param[in] cb nim_json_transport_cb_func回调函数定义见nim_global_def.h
* kNIMResExistApp层必须调用nim_client_logout退出到登录界面便
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 403:
* 408:
* 414:
* 415:
* 416:
* 422:
*/
NIM_SDK_DLL_API void nim_client_reg_auto_relogin_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data);
/** @fn void nim_client_reg_kickout_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data)
* ()NIM客户端被踢回调
* @param[in] json_extension json扩展参数
* @param[in] cb nim_json_transport_cb_func回调函数定义见nim_global_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
*/
NIM_SDK_DLL_API void nim_client_reg_kickout_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data);
/** @fn nim_client_reg_disconnect_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data)
* ()NIM客户端掉线回调
* @param[in] json_extension json扩展参数
* @param[in] cb 线 nim_json_transport_cb_func回调函数定义见nim_global_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
*/
NIM_SDK_DLL_API void nim_client_reg_disconnect_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data);
/** @fn void nim_client_reg_multispot_login_notify_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data)
* ()NIM客户端多点登录通知回调
* @param[in] json_extension json扩展参数
* @param[in] cb nim_json_transport_cb_func回调函数定义见nim_global_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
*/
NIM_SDK_DLL_API void nim_client_reg_multispot_login_notify_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data);
/** @fn void nim_client_reg_kickout_other_client_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data)
* ()NIM客户端将本帐号的其他端踢下线结果回调
* @param[in] json_extension json扩展参数
* @param[in] cb nim_json_transport_cb_func回调函数定义见nim_global_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
*/
NIM_SDK_DLL_API void nim_client_reg_kickout_other_client_cb(const char *json_extension, nim_json_transport_cb_func cb, const void *user_data);
/** @fn void nim_client_reg_sync_multiport_push_config_cb(const char *json_extension, nim_client_multiport_push_config_cb_func cb, const void *user_data);
* ()
* @param[in] json_extension json扩展参数
* @param[in] cb
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
*/
NIM_SDK_DLL_API void nim_client_reg_sync_multiport_push_config_cb(const char *json_extension, nim_client_multiport_push_config_cb_func cb, const void *user_data);
/** @fn nim_client_set_multiport_push_config(const char *switch_content, const char *json_extension, nim_client_multiport_push_config_cb_func cb, const void *user_data);
*
* @param[in] switch_content
* @param[in] json_extension json扩展参数
* @param[in] cb
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void nim_client_reg_kickout_other_client_cb回调得到结果
* @note 200:
*/
NIM_SDK_DLL_API void nim_client_set_multiport_push_config(const char *switch_content, const char *json_extension, nim_client_multiport_push_config_cb_func cb, const void *user_data);
/** @fn nim_client_get_multiport_push_config(const char *json_extension, nim_client_multiport_push_config_cb_func cb, const void *user_data);
*
* @param[in] json_extension json扩展参数
* @param[in] cb
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void nim_client_reg_kickout_other_client_cb回调得到结果
*/
NIM_SDK_DLL_API void nim_client_get_multiport_push_config(const char *json_extension, nim_client_multiport_push_config_cb_func cb, const void *user_data);
#if !NIMAPI_UNDER_WIN_DESKTOP_ONLY
/** @fn nim_client_set_dnd_config(const char* cfg_json, const char *json_extension, nim_client_dnd_cb_func cb, const void *user_data);
* (PC SDK该接口无效)ios
* @param[in] cfg_json
* @param[in] json_extension json扩展参数
* @param[in] cb
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void nim_client_reg_kickout_other_client_cb回调得到结果
*/
NIM_SDK_DLL_API void nim_client_set_dnd_config(const char* cfg_json, const char *json_extension, nim_client_dnd_cb_func cb, const void *user_data);
/** @fn nim_client_get_dnd_config(nim_client_dnd_cb_func cb, const void *user_data);
* (PC SDK该接口无效)ios
* @param[in] cb
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void nim_client_reg_kickout_other_client_cb回调得到结果
*/
NIM_SDK_DLL_API void nim_client_get_dnd_config(nim_client_dnd_cb_func cb, const void *user_data);
/** @fn const char * nim_tool_get_version()
* (PC SDK该接口无效)SDK
* @return const char * SDK
*/
NIM_SDK_DLL_API const char* nim_client_get_version();
#endif
#ifdef __cplusplus
};
#endif //__cplusplus
#endif //NIM_SDK_DLL_API_NIM_CLIENT_H_