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

340 lines
24 KiB
C
Raw Normal View History

2018-07-16 02:33:31 +00:00
/** @file nim_msglog.h
* @brief
* @copyright (c) 2015-2017, NetEase Inc. All rights reserved
* @author Oleg
* @date 2015/2/1
*/
#ifndef NIM_SDK_DLL_API_NIM_MSGLOG_H_
#define NIM_SDK_DLL_API_NIM_MSGLOG_H_
#include "nim_sdk_dll.h"
#include "../export_headers/nim_msglog_def.h"
#ifdef __cplusplus
extern"C"
{
#endif
/** @fn void nim_msglog_query_msg_by_id_async(const char *client_msg_id, const char *json_extension, nim_msglog_query_single_cb_func cb, const void *user_data)
* ID查询本地
* @param[in] client_msg_id ID
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_query_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_query_msg_by_id_async(const char *client_msg_id, const char *json_extension, nim_msglog_query_single_cb_func cb, const void *user_data);
/** @fn void nim_msglog_query_msg_async(const char *account_id, enum NIMSessionType to_type, int limit_count, int64_t anchor_msg_time, const char *json_extension, nim_msglog_query_cb_func cb, const void *user_data)
*
* @param[in] account_id idaccount id或者群组tid
* @param[in] to_type
* @param[in] limit_count 20
* @param[in] anchor_msg_time 2.4.0last_name
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_query_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
*/
NIM_SDK_DLL_API void nim_msglog_query_msg_async(const char *account_id, enum NIMSessionType to_type, int limit_count, int64_t anchor_msg_time, const char *json_extension, nim_msglog_query_cb_func cb, const void *user_data);
/** @fn void nim_msglog_query_msg_online_async(const char *id, enum NIMSessionType to_type, int limit_count, int64_t from_time, int64_t end_time, int64_t end_msg_id, bool reverse, bool need_save_to_local, const char *json_extension, nim_msglog_query_cb_func cb, const void *user_data)
* 线
* @param[in] id idaccount id或者群组tid
* @param[in] to_type
* @param[in] limit_count (100)
* @param[in] from_time
* @param[in] end_time
* @param[in] end_msg_id server_msg_id()
* @param[in] reverse true()falsefalse
* @param[in] need_save_to_local true: 线false:
* @param[in] json_extension json扩展参数
* @param[in] cb 线 nim_msglog_query_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 403:访(,)
* 414:
*/
NIM_SDK_DLL_API void nim_msglog_query_msg_online_async(const char *id,
enum NIMSessionType to_type,
int limit_count,
int64_t from_time,
int64_t end_time,
int64_t end_msg_id,
bool reverse,
bool need_save_to_local,
const char *json_extension,
nim_msglog_query_cb_func cb,
const void *user_data);
#if NIMAPI_UNDER_WIN_DESKTOP_ONLY
/** @fn void nim_msglog_query_the_message_of_the_specified_type_async(enum NIMSessionType to_type, const char *id, int limit_count, int64_t from_time, int64_t end_time, const char *end_client_msg_id, bool reverse, const char *msg_types, const char *json_extension, nim_msglog_query_cb_func cb, const void *user_data)
*
* @param[in] to_type
* @param[in] id idaccount id或者群组tid
* @param[in] limit_count (100)
* @param[in] from_time
* @param[in] end_time
* @param[in] end_client_msg_id client_msg_id()
* @param[in] reverse true()falsefalse
* @param[in] msg_types ,Json array
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_query_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
*/
NIM_SDK_DLL_API void nim_msglog_query_the_message_of_the_specified_type_async(enum NIMSessionType to_type,
const char *id,
int limit_count,
int64_t from_time,
int64_t end_time,
const char *end_client_msg_id,
bool reverse,
const char *msg_types,
const char *json_extension,
nim_msglog_query_cb_func cb,
const void *user_data);
#endif
/** @fn void nim_msglog_query_msg_by_options_async(enum NIMMsgLogQueryRange query_range, const char *ids, int limit_count, int64_t from_time, int64_t end_time, const char *end_client_msg_id, bool reverse, enum NIMMessageType msg_type, const char *search_content, const char *json_extension, nim_msglog_query_cb_func cb, const void *user_data)
* ,使, http://dev.netease.im/docs/product/IM%E5%8D%B3%E6%97%B6%E9%80%9A%E8%AE%AF/SDK%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90/Windows%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90/%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95
* @param[in] query_range NIMMsgLogQueryRange说明
* @param[in] ids idaccount id或者群组tidstring array jsonNIMMsgLogQueryRange说明
* @param[in] limit_count (100)
* @param[in] from_time
* @param[in] end_time
* @param[in] end_client_msg_id client_msg_id()
* @param[in] reverse true()falsefalse
* @param[in] msg_type kNIMMessageTypeTextkNIMMessageTypeImage和kNIMMessageTypeFile这三种类型消息
* @param[in] search_content kNIMMessageTypeText和kNIMMessageTypeFile这两种类型消息的文本关键字检索使kNIMMessageTypeUnknown
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_query_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
*/
NIM_SDK_DLL_API void nim_msglog_query_msg_by_options_async(enum NIMMsgLogQueryRange query_range,
const char *ids,
int limit_count,
int64_t from_time,
int64_t end_time,
const char *end_client_msg_id,
bool reverse,
enum NIMMessageType msg_type,
const char *search_content,
const char *json_extension,
nim_msglog_query_cb_func cb,
const void *user_data);
/** @fn void nim_msglog_batch_status_read_async(const char *account_id, enum NIMSessionType to_type, const char *json_extension, nim_msglog_res_ex_cb_func cb, const void *user_data)
*
* @param[in] account_id idaccount id或者群组tid
* @param[in] to_type
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_ex_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_batch_status_read_async(const char *account_id, enum NIMSessionType to_type, const char *json_extension, nim_msglog_res_ex_cb_func cb, const void *user_data);
/** @fn void nim_msglog_set_status_async(const char *msg_id, enum NIMMsgLogStatus msglog_status, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data)
*
* @param[in] msg_id id
* @param[in] msglog_status
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_set_status_async(const char *msg_id, enum NIMMsgLogStatus msglog_status, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data);
/** @fn void nim_msglog_set_sub_status_async(const char *msg_id, enum NIMMsgLogSubStatus msglog_sub_status, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data)
*
* @param[in] msg_id id
* @param[in] msglog_sub_status
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_set_sub_status_async(const char *msg_id, enum NIMMsgLogSubStatus msglog_sub_status, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data);
/** @fn void nim_msglog_insert_msglog_async(const char *talk_id, const char *json_msg, bool need_update_session, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data)
* APP的本地自定义消息
* @param[in] talk_id idaccount id或者群组tid
* @param[in] json_msg Json string (Keys SEE MORE `nim_talk_def.h` Json Keys)
* @param[in] need_update_session
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_insert_msglog_async(const char *talk_id, const char *json_msg, bool need_update_session, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data);
/** @fn void nim_msglog_batch_status_delete_async(const char *account_id, enum NIMSessionType to_type, const char *json_extension, nim_msglog_res_ex_cb_func cb, const void *user_data)
* kNIMSessionMsgStatus设置为已删除状态nim_session_reg_change_cb注册的回调通知上层相应会话项的kNIMSessionCommandMsgDeleted事件
* @param[in] account_id idaccount id或者群组tid
* @param[in] to_type
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_ex_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_batch_status_delete_async(const char *account_id, enum NIMSessionType to_type, const char *json_extension, nim_msglog_res_ex_cb_func cb, const void *user_data);
/** @fn void nim_msglog_delete_by_session_type_async(bool delete_sessions, enum NIMSessionType to_type, const char *json_extension, nim_msglog_res_ex_cb_func cb, const void *user_data)
*
* @param[in] delete_sessions
* ture则删除nim_session_reg_change_cb注册的回调通知上层kNIMSessionCommandRemoveAllP2P或kNIMSessionCommandRemoveAllTeam事件kNIMSessionCommandRemove事件
* false则不删除kNIMSessionMsgStatus设置为已删除状态nim_session_reg_change_cb注册的回调通知上层kNIMSessionCommandAllP2PMsgDeleted或kNIMSessionCommandAllTeamMsgDeleted事件kNIMSessionCommandUpdate事件
* @param[in] to_type
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_ex_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_delete_by_session_type_async(bool delete_sessions, enum NIMSessionType to_type, const char *json_extension, nim_msglog_res_ex_cb_func cb, const void *user_data);
/** @fn void nim_msglog_delete_async(const char *account_id, enum NIMSessionType to_type, const char *msg_id, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data)
*
* @param[in] account_id idaccount id或者群组tid
* @param[in] to_type
* @param[in] msg_id id
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_delete_async(const char *account_id, enum NIMSessionType to_type, const char *msg_id, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data);
/** @fn void nim_msglog_delete_all_async(bool delete_sessions, const char *json_extension, nim_msglog_modify_res_cb_func cb, const void *user_data)
*
* @param[in] delete_sessions
* ture则删除nim_session_reg_change_cb注册的回调通知上层kNIMSessionCommandRemoveAll事件kNIMSessionCommandRemove事件
* false则不删除kNIMSessionMsgStatus设置为已删除状态nim_session_reg_change_cb注册的回调通知上层kNIMSessionCommandAllMsgDeleted事件kNIMSessionCommandUpdate事件
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_modify_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_delete_all_async(bool delete_sessions, const char *json_extension, nim_msglog_modify_res_cb_func cb, const void *user_data);
/** @fn void nim_msglog_export_db_async(const char *dst_path, const char *json_extension, nim_msglog_modify_res_cb_func cb, const void *user_data)
* DB文件DB文件即可SDK层不返回进度给APP层
* @param[in] dst_path UTF-8
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_modify_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_export_db_async(const char *dst_path, const char *json_extension, nim_msglog_modify_res_cb_func cb, const void *user_data);
/** @fn void nim_msglog_import_db_async(const char *src_path, const char *json_extension, nim_msglog_modify_res_cb_func res_cb, const void *res_user_data, nim_msglog_import_prg_cb_func prg_cb, const void *prg_user_data)
* DB文件DB加密密钥(nim_client_def.h里的kNIMDataBaseEncryptKey
* @param[in] src_path UTF-8
* @param[in] json_extension json扩展参数
* @param[in] res_cb nim_msglog_modify_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] res_user_data APP的自定义用户数据SDK只负责传回给回调函数res_cb
* @param[in] prg_cb nim_msglog_import_prg_cb_func回调函数定义见nim_msglog_def.h
* @param[in] prg_user_data APP的自定义用户数据SDK只负责传回给回调函数prg_cb
* @return void
* @note 200:
* 10600:
* 10601:
*/
NIM_SDK_DLL_API void nim_msglog_import_db_async(const char *src_path, const char *json_extension, nim_msglog_modify_res_cb_func res_cb, const void *res_user_data, nim_msglog_import_prg_cb_func prg_cb, const void *prg_user_data);
/** @fn void nim_msglog_send_receipt_async(const char *json_msg, const char *json_extension, nim_msglog_status_changed_cb_func cb, const void *user_data)
*
* @param[in] json_msg json string
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_status_changed_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 403:
* 404:
* 10414:
*/
NIM_SDK_DLL_API void nim_msglog_send_receipt_async(const char *json_msg, const char *json_extension, nim_msglog_status_changed_cb_func cb, const void *user_data);
/** @fn bool nim_msglog_query_be_readed(const char *json_msg, const char *json_extension)
*
* @param[in] json_msg json string
* @param[in] json_extension json扩展参数
* @return bool
*/
NIM_SDK_DLL_API bool nim_msglog_query_be_readed(const char *json_msg, const char *json_extension);
#if NIMAPI_UNDER_WIN_DESKTOP_ONLY
/** @fn bool nim_msglog_query_receipt_sent(const char *json_msg, const char *json_extension)
*
* @param[in] json_msg json string
* @param[in] json_extension json扩展参数
* @return bool
*/
NIM_SDK_DLL_API bool nim_msglog_query_receipt_sent(const char *json_msg, const char *json_extension);
#endif
/** @fn void nim_msglog_reg_status_changed_cb(const char *json_extension, nim_msglog_status_changed_cb_func cb, const void *user_data)
* ()
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_status_changed_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
*/
NIM_SDK_DLL_API void nim_msglog_reg_status_changed_cb(const char *json_extension, nim_msglog_status_changed_cb_func cb, const void *user_data);
/** @fn void nim_msglog_update_localext_async(const char *msg_id, const char *local_ext, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data)
*
* @param[in] msg_id id
* @param[in] local_ext
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_update_localext_async(const char *msg_id, const char *local_ext, const char *json_extension, nim_msglog_res_cb_func cb, const void *user_data);
#if NIMAPI_UNDER_WIN_DESKTOP_ONLY
/** @fn void nim_msglog_read_all_async(const char *json_extension, nim_msglog_modify_res_cb_func cb, const void *user_data)
*
* @param[in] json_extension json扩展参数
* @param[in] cb nim_msglog_modify_res_cb_func回调函数定义见nim_msglog_def.h
* @param[in] user_data APP的自定义用户数据SDK只负责传回给回调函数cb
* @return void
* @note 200:
* 0:
*/
NIM_SDK_DLL_API void nim_msglog_read_all_async(const char *json_extension, nim_msglog_modify_res_cb_func cb, const void *user_data);
#endif
#ifdef __cplusplus
};
#endif //__cplusplus
#endif //NIM_SDK_DLL_API_NIM_MSGLOG_H_