/** @file nim_friend.h * @brief 好友 接口头文件 * @copyright (c) 2015-2017, NetEase Inc. All rights reserved * @author Oleg * @date 2015/08/13 */ #ifndef NIM_SDK_DLL_API_NIM_FRIEND_H_ #define NIM_SDK_DLL_API_NIM_FRIEND_H_ #include "nim_sdk_dll.h" #include "../export_headers/nim_friend_def.h" #include "util/stdbool.h" #ifdef __cplusplus extern"C" { #endif /** @fn void nim_friend_reg_changed_cb(const char *json_extension, nim_friend_change_cb_func cb, const void *user_data) * (全局回调)统一注册好友变更通知回调函数(多端同步添加、删除、更新,好友列表同步) * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 好友变更通知回调函数, nim_friend_change_cb_func回调函数定义见nim_friend_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 404:用户不存在 * 500:未知错误 */ NIM_SDK_DLL_API void nim_friend_reg_changed_cb(const char *json_extension, nim_friend_change_cb_func cb, const void *user_data); /** @fn void nim_friend_request(const char *accid, enum NIMVerifyType verify_type, const char *msg, const char *json_extension, nim_friend_opt_cb_func cb, const void *user_data) * 添加、验证好友 * @param[in] accid 对方帐号 * @param[in] verify_type 好友验证类型 * @param[in] msg 接口扩展字段 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调 * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 404:用户不存在 * 500:未知错误 */ NIM_SDK_DLL_API void nim_friend_request(const char *accid, enum NIMVerifyType verify_type, const char *msg, const char *json_extension, nim_friend_opt_cb_func cb, const void *user_data); /** @fn void nim_friend_delete(const char *accid, const char *json_extension, nim_friend_opt_cb_func cb, const void *user_data) * 删除好友 * @param[in] accid 对方帐号 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调 * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 404:用户不存在 * 500:未知错误 */ NIM_SDK_DLL_API void nim_friend_delete(const char *accid, const char *json_extension, nim_friend_opt_cb_func cb, const void *user_data); /** @fn void nim_friend_update(const char *friend_json, const char *json_extension, nim_friend_opt_cb_func cb, const void *user_data) * 更新好友资料 * @param[in] friend_json 好友资料json字符串 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调 * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 404:用户不存在 * 500:未知错误 */ NIM_SDK_DLL_API void nim_friend_update(const char *friend_json, const char *json_extension, nim_friend_opt_cb_func cb, const void *user_data); /** @fn void nim_friend_get_list(const char *json_extension, nim_friend_get_list_cb_func cb, const void *user_data) * 获取缓存好友列表 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调 * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 */ NIM_SDK_DLL_API void nim_friend_get_list(const char *json_extension, nim_friend_get_list_cb_func cb, const void *user_data); /** @fn void nim_friend_get_profile(const char *accid, const char *json_extension, nim_friend_get_profile_cb_func cb, const void *user_data) * 获取缓存好友信息 * @param[in] accid 对方帐号 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调 * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 */ NIM_SDK_DLL_API void nim_friend_get_profile(const char *accid, const char *json_extension, nim_friend_get_profile_cb_func cb, const void *user_data); /** @fn bool nim_friend_query_friendship_block(const char *accid, const char *json_extension) * 在本地缓存数据中查询accid是否为自己的好友(同步接口,堵塞NIM内部线程,谨慎使用) * @param[in] accid 对方帐号 * @param[in] json_extension json扩展参数(备用,目前不需要) * @return bool 当正向和反向好友关系都为好友时返回true */ NIM_SDK_DLL_API bool nim_friend_query_friendship_block(const char *accid, const char *json_extension); #ifdef __cplusplus } #endif #endif //NIM_SDK_DLL_API_NIM_FRIEND_H_