/** @file nim_subscribe_event.h * @brief 事件订阅 接口头文件 * @copyright (c) 2017, NetEase Inc. All rights reserved * @author Redrain * @date 2015/03/23 */ #ifndef NIM_SDK_DLL_API_NIM_SUBSCRIBE_EVENT_H_ #define NIM_SDK_DLL_API_NIM_SUBSCRIBE_EVENT_H_ #include "nim_sdk_dll.h" #include "../export_headers/nim_subscribe_event_def.h" #include "util/stdbool.h" #ifdef __cplusplus extern"C" { #endif #if NIMAPI_UNDER_WIN_DESKTOP_ONLY /** @fn void nim_subscribe_event_reg_push_event_cb(const char *json_extension, nim_push_event_cb_func cb, const void *user_data) * (全局回调)统一注册接收订阅的事件的回调函数 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 接收订阅事件的回调函数, nim_push_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 */ NIM_SDK_DLL_API void nim_subscribe_event_reg_push_event_cb(const char *json_extension, nim_push_event_cb_func cb, const void *user_data); /** @fn void nim_subscribe_event_reg_batch_push_event_cb(const char *json_extension, nim_batch_push_event_cb_func cb, const void *user_data) * (全局回调)统一注册批量接收订阅的事件的回调函数 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 批量接收订阅事件的回调函数, nim_batch_push_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 */ NIM_SDK_DLL_API void nim_subscribe_event_reg_batch_push_event_cb(const char *json_extension, nim_batch_push_event_cb_func cb, const void *user_data); /** @fn void nim_publish_event(const char *event_json, const char *json_extension, nim_publish_event_cb_func cb, const void *user_data) * 发布事件 * @param[in] event_json 事件json字符串 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调, nim_publish_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 403:应用没开通事件服务 * 404:禁用了特定事件 * 414:参数错误 * 500:未知错误 */ NIM_SDK_DLL_API void nim_publish_event(const char *event_json, const char *json_extension, nim_publish_event_cb_func cb, const void *user_data); /** @fn void nim_subscribe_event(int event_type, int64_t ttl, int sync_event, const char *accid_list_json, const char *json_extension, nim_subscribe_event_cb_func cb, const void *user_data) * 订阅事件 * @param[in] event_type 事件类型 * @param[in] ttl 订阅有效期,单位:秒,范围:60s到30天 * @param[in] sync_event 订阅后是否立即同步最新事件,见nim_subscribe_event_def.h中NIMEventSubscribeSyncType定义 * @param[in] accid_list_json 用户列表,例 ["litianyi01", "litianyi02", ...] * @param[in] json_extension j son扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调, nim_subscribe_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 414:参数错误 * 500:未知错误 */ NIM_SDK_DLL_API void nim_subscribe_event(int event_type, int64_t ttl, int sync_event, const char *accid_list_json, const char *json_extension, nim_subscribe_event_cb_func cb, const void *user_data); /** @fn void nim_unsubscribe_event(int event_type, const char *accid_list_json, const char *json_extension, nim_unsubscribe_event_cb_func cb, const void *user_data) * 按账号取消指定事件的订阅关系 * @param[in] event_type 事件类型 * @param[in] accid_list_json 用户列表,例 ["litianyi01", "litianyi02", ...] * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调, nim_unsubscribe_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 414:参数错误 * 500:未知错误 */ NIM_SDK_DLL_API void nim_unsubscribe_event(int event_type, const char *accid_list_json, const char *json_extension, nim_unsubscribe_event_cb_func cb, const void *user_data); /** @fn void nim_batch_unsubscribe_event(int event_type, const char *json_extension, nim_batch_unsubscribe_event_cb_func cb, const void *user_data) * 取消指定事件的全部订阅关系 * @param[in] event_type 事件类型 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调, nim_batch_unsubscribe_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 414:参数错误 * 500:未知错误 */ NIM_SDK_DLL_API void nim_batch_unsubscribe_event(int event_type, const char *json_extension, nim_batch_unsubscribe_event_cb_func cb, const void *user_data); /** @fn void nim_query_subscribe_event(int event_type, const char *accid_list_json, const char *json_extension, nim_query_subscribe_event_cb_func cb, const void *user_data) * 按账号查询指定事件订阅关系 * @param[in] event_type 事件类型 * @param[in] accid_list_json 用户列表,例 ["litianyi01", "litianyi02", ...] * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调, nim_query_subscribe_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 414:参数错误 * 500:未知错误 */ NIM_SDK_DLL_API void nim_query_subscribe_event(int event_type, const char *accid_list_json, const char *json_extension, nim_query_subscribe_event_cb_func cb, const void *user_data); /** @fn void nim_batch_query_subscribe_event(int event_type, const char *json_extension, nim_batch_query_subscribe_event_cb_func cb, const void *user_data) * 查询指定事件的全部订阅关系 * @param[in] event_type 事件类型 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 操作结果回调, nim_batch_query_subscribe_event_cb_func回调函数定义见nim_subscribe_event_def.h * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 414:参数错误 * 500:未知错误 */ NIM_SDK_DLL_API void nim_batch_query_subscribe_event(int event_type, const char *json_extension, nim_batch_query_subscribe_event_cb_func cb, const void *user_data); #endif #ifdef __cplusplus } #endif #endif //NIM_SDK_DLL_API_NIM_SUBSCRIBE_EVENT_H_