NIM PC Cross Platform SDK
nim_session.h File Reference

最近会话列表 接口头文件 More...

#include "nim_msglog_def.h"
#include "nim_session_def.h"
#include "public_defines.h"

Go to the source code of this file.

Functions

NIM_SDK_DLL_API void nim_session_reg_change_cb (const char *json_extension, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_reg_badge_count_cb (const char *json_extension, nim_session_badge_count_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_last_few_session_async (int limit, const char *json_extension, nim_session_query_recent_session_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_all_recent_session_async (const char *json_extension, nim_session_query_recent_session_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_all_recent_session_with_last_msg_excluded_type_async (const char *json_extension, nim_session_query_recent_session_cb_func cb, enum NIMMessageType last_msg_excluded_type, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_all_recent_session_with_last_msg_excluded_type_async_ex (const char *json_extension, nim_session_query_recent_session_cb_func cb, const char *last_msg_excluded_type_list, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_delete_recent_session_async (enum NIMSessionType to_type, const char *id, const char *json_extension, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_delete_recent_session_async_ex (enum NIMSessionType to_type, const char *id, bool delete_roaming, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_delete_session_roaming_async (enum NIMSessionType to_type, const char *id, const char *json_extension, nim_session_delete_session_roaming_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_delete_all_recent_session_async (const char *json_extension, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_set_unread_count_zero_async (enum NIMSessionType to_type, const char *id, const char *json_extension, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_set_multi_unread_count_zero_async (bool super_team, const char *unread_count_zero_info_list, nim_session_multi_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_set_top (enum NIMSessionType to_type, const char *id, bool top, const char *json_extension, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_set_extend_data (enum NIMSessionType to_type, const char *id, const char *data, const char *json_extension, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_reset_all_unread_count_async (const char *json_extension, nim_session_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_sessiondata_by_id_async (enum NIMSessionType to_type, const char *id, const char *json_extension, nim_session_query_sessiondata_by_id_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_stick_top_session_list (nim_session_query_stick_top_session_list_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_set_to_stick_top (const char *session_id, enum NIMSessionType to_type, const char *ext, nim_session_set_to_stick_top_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_cancel_stick_top (const char *session_id, enum NIMSessionType to_type, nim_session_cancel_stick_top_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_update_stick_top (const char *session_id, enum NIMSessionType to_type, const char *ext, nim_session_update_stick_top_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_reg_set_to_stick_top_notify_cb (nim_session_set_to_stick_top_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_reg_cancell_stick_top_notify_cb (nim_session_cancel_stick_top_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_reg_update_stick_top_notify_cb (nim_session_update_stick_top_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_session_hasmore_roammsg (const SessionMainTagInfo *session_main_tag_info, nim_session_query_session_hasmore_roammsg_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_query_all_session_hasmore_roammsg (nim_session_query_all_session_hasmore_roammsg_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_update_session_hasmore_roammsg (const char *json_msg, nim_session_update_session_hasmore_roammsg_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_session_delete_session_hasmore_roammsg (const SessionMainTagInfo *session_main_tag_info, nim_session_delete_session_hasmore_roammsg_cb_func cb, const void *user_data)
 

Detailed Description

最近会话列表 接口头文件

Author
Oleg
Date
2015/2/1

Function Documentation

◆ nim_session_cancel_stick_top()

void nim_session_cancel_stick_top ( const char *  session_id,
enum NIMSessionType  to_type,
nim_session_cancel_stick_top_cb_func  cb,
const void *  user_data 
)

取消置顶会话

Parameters
[in]session_id会话ID
[in]to_type会话类型
[in]cb取消置顶会话回调, 定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_delete_all_recent_session_async()

void nim_session_delete_all_recent_session_async ( const char *  json_extension,
nim_session_change_cb_func  cb,
const void *  user_data 
)

删除全部最近联系人

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_delete_recent_session_async()

void nim_session_delete_recent_session_async ( enum NIMSessionType  to_type,
const char *  id,
const char *  json_extension,
nim_session_change_cb_func  cb,
const void *  user_data 
)

删除最近联系人

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_delete_recent_session_async_ex()

void nim_session_delete_recent_session_async_ex ( enum NIMSessionType  to_type,
const char *  id,
bool  delete_roaming,
nim_session_change_cb_func  cb,
const void *  user_data 
)

删除最近联系人

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]delete_roaming是否删除漫游消息
[in]cb最近会话列表项变更的回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_delete_session_hasmore_roammsg()

void nim_session_delete_session_hasmore_roammsg ( const SessionMainTagInfo session_main_tag_info,
nim_session_delete_session_hasmore_roammsg_cb_func  cb,
const void *  user_data 
)

删除会话漫游消息未拉取信息

Parameters
[in]session_main_tag_info要删除的会话信息
[in]cb结果回调,详见 nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_delete_session_roaming_async()

void nim_session_delete_session_roaming_async ( enum NIMSessionType  to_type,
const char *  id,
const char *  json_extension,
nim_session_delete_session_roaming_cb_func  cb,
const void *  user_data 
)

删除指定会话的漫游消息

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_delete_session_roaming_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_query_all_recent_session_async()

void nim_session_query_all_recent_session_async ( const char *  json_extension,
nim_session_query_recent_session_cb_func  cb,
const void *  user_data 
)

查询会话列表,若初始化配置session_ignore_msg_types_不为默认值,会从消息数据库查询。

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb查询会话列表的回调函数, nim_session_query_recent_session_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_query_all_recent_session_with_last_msg_excluded_type_async()

void nim_session_query_all_recent_session_with_last_msg_excluded_type_async ( const char *  json_extension,
nim_session_query_recent_session_cb_func  cb,
enum NIMMessageType  last_msg_excluded_type,
const void *  user_data 
)

查询会话列表,可指定最后一条会话消息要排除掉的类型, 若last_msg_excluded_type与初始化配置session_ignore_msg_types_不一致时,会从消息数据库重新查询。

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb查询会话列表的回调函数, nim_session_query_recent_session_cb_func回调函数定义见nim_session_def.h
[in]last_msg_excluded_type最后一条会话消息要排除掉的类型,如果不排除任何消息,参数请传入NIMMessageType::kNIMMessageTypeUnknown
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_query_all_recent_session_with_last_msg_excluded_type_async_ex()

void nim_session_query_all_recent_session_with_last_msg_excluded_type_async_ex ( const char *  json_extension,
nim_session_query_recent_session_cb_func  cb,
const char *  last_msg_excluded_type_list,
const void *  user_data 
)

查询会话列表,可指定最后一条会话消息要排除掉的类型(列表), 若last_msg_excluded_type与初始化配置session_ignore_msg_types_不一致时,会从消息数据库重新查询。

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb查询会话列表的回调函数, nim_session_query_recent_session_cb_func回调函数定义见nim_session_def.h
[in]last_msg_excluded_type最后一条会话消息要排除掉的类型,如果不排除任何消息,参数请传入NIMMessageType::kNIMMessageTypeUnknown
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_query_all_session_hasmore_roammsg()

void nim_session_query_all_session_hasmore_roammsg ( nim_session_query_all_session_hasmore_roammsg_cb_func  cb,
const void *  user_data 
)

查询所有漫游消息未拉取完全的会话

Parameters
[in]cb结果回调,详见 nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_query_last_few_session_async()

void nim_session_query_last_few_session_async ( int  limit,
const char *  json_extension,
nim_session_query_recent_session_cb_func  cb,
const void *  user_data 
)

查询指定数量的最后会话数据,从消息数据库中查询

Parameters
[in]limit要返回的最大数量
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb查询会话列表的回调函数, nim_session_query_recent_session_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_query_session_hasmore_roammsg()

void nim_session_query_session_hasmore_roammsg ( const SessionMainTagInfo session_main_tag_info,
nim_session_query_session_hasmore_roammsg_cb_func  cb,
const void *  user_data 
)

查询会话是漫游消息未拉取信息

Parameters
[in]session_main_tag_info要查询会话信息
[in]cb结果回调,详见 nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_query_sessiondata_by_id_async()

void nim_session_query_sessiondata_by_id_async ( enum NIMSessionType  to_type,
const char *  id,
const char *  json_extension,
nim_session_query_sessiondata_by_id_cb_func  cb,
const void *  user_data 
)

根据给定的id查询相应会话的信息

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_query_sessiondata_by_id_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_query_stick_top_session_list()

void nim_session_query_stick_top_session_list ( nim_session_query_stick_top_session_list_cb_func  cb,
const void *  user_data 
)

获取置顶会话列表

Parameters
[in]cb获取置顶会话列表回调, 定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_reg_badge_count_cb()

void nim_session_reg_badge_count_cb ( const char *  json_extension,
nim_session_badge_count_cb_func  cb,
const void *  user_data 
)

(全局回调)注册获取badge数量的回调(仅iOS platform有效)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_session_reg_cancell_stick_top_notify_cb()

void nim_session_reg_cancell_stick_top_notify_cb ( nim_session_cancel_stick_top_notify_cb_func  cb,
const void *  user_data 
)

(全局回调)注册取消置顶通知回调

Parameters
[in]cb取消会话置顶通知回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_reg_change_cb()

void nim_session_reg_change_cb ( const char *  json_extension,
nim_session_change_cb_func  cb,
const void *  user_data 
)

(全局回调)注册最近会话列表项变更通知

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_session_reg_set_to_stick_top_notify_cb()

void nim_session_reg_set_to_stick_top_notify_cb ( nim_session_set_to_stick_top_notify_cb_func  cb,
const void *  user_data 
)

(全局回调)注册会话置顶通知回调

Parameters
[in]cb会话置顶通知回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_reg_update_stick_top_notify_cb()

void void nim_session_reg_update_stick_top_notify_cb ( nim_session_update_stick_top_notify_cb_func  cb,
const void *  user_data 
)

(全局回调)注册更新置顶通知回调

Parameters
[in]cb更新会话置顶通知回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_reset_all_unread_count_async()

void nim_session_reset_all_unread_count_async ( const char *  json_extension,
nim_session_change_cb_func  cb,
const void *  user_data 
)

最近联系人项全部未读数清零

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_set_extend_data()

void nim_session_set_extend_data ( enum NIMSessionType  to_type,
const char *  id,
const char *  data,
const char *  json_extension,
nim_session_change_cb_func  cb,
const void *  user_data 
)

设置会话项扩展数据(扩展数据只保存在本地)

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]data扩展数据,建议使用灵活可扩展的数据结构,例如Json
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_set_multi_unread_count_zero_async()

void nim_session_set_multi_unread_count_zero_async ( bool  super_team,
const char *  unread_count_zero_info_list,
nim_session_multi_change_cb_func  cb,
const void *  user_data 
)

最近联系人项(多条)未读数清零

Parameters
[in]super_team是否是超大群
[in]zero_info_listjson array 要清零的会话信息列表 示例[{"type":0,"id":"123"},{"type":1,"id":"789"}] 对方的account id或者群组tid。
[in]cb最近会话列表项变更的回调函数, nim_session_multi_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_set_to_stick_top()

void nim_session_set_to_stick_top ( const char *  session_id,
enum NIMSessionType  to_type,
const char *  ext,
nim_session_set_to_stick_top_cb_func  cb,
const void *  user_data 
)

置顶会话

Parameters
[in]session_id会话ID
[in]to_type会话类型
[in]ext扩展信息
[in]cb置顶会话回调, 定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_set_top()

void nim_session_set_top ( enum NIMSessionType  to_type,
const char *  id,
bool  top,
const char *  json_extension,
nim_session_change_cb_func  cb,
const void *  user_data 
)

设置会话项是否置顶(置顶属性只保存在本地)

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]toptrue - 置顶 false - 取消置顶
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_set_unread_count_zero_async()

void nim_session_set_unread_count_zero_async ( enum NIMSessionType  to_type,
const char *  id,
const char *  json_extension,
nim_session_change_cb_func  cb,
const void *  user_data 
)

最近联系人项未读数清零

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数, nim_session_change_cb_func回调函数定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ nim_session_update_session_hasmore_roammsg()

void nim_session_update_session_hasmore_roammsg ( const char *  json_msg,
nim_session_update_session_hasmore_roammsg_cb_func  cb,
const void *  user_data 
)

更新会话漫游消息未拉取信息

Parameters
[in]json_msg对应的消息内容
[in]cb结果回调,详见 nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_session_update_stick_top()

void nim_session_update_stick_top ( const char *  session_id,
enum NIMSessionType  to_type,
const char *  ext,
nim_session_update_stick_top_cb_func  cb,
const void *  user_data 
)

更新置顶会话

Parameters
[in]session_id会话ID
[in]to_type会话类型
[in]ext扩展信息
[in]cb更新置顶会话回调, 定义见nim_session_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 0:失败