NIM PC Cross Platform SDK
nim::Session Class Reference

会话列表管理功能;主要包括查询会话列表、删除会话列表等功能 More...

#include <nim_cpp_session.h>

Public Types

typedef std::function< int32_t(const std::string &)> BadgeCountCallback
 app角标未读计数通知回调模板 (仅iOS有效)
 
typedef std::function< void(nim::NIMResCode, const SessionData &, int)> ChangeCallback
 会话变更通知回调模板
 
typedef std::function< void(int, const SessionDataList &)> QuerySessionListCallabck
 查询会话列表回调模板
 
typedef ChangeCallback DeleteRecentSessionCallabck
 删除会话回调模板
 
typedef ChangeCallback DeleteAllRecentSessionCallabck
 删除全部会话回调模板
 
typedef ChangeCallback SetUnreadCountZeroCallback
 会话未读消息数清零回调模板
 
typedef std::function< void(nim::NIMResCode, const std::list< SessionData > &session_data_list, int unread_count)> SetMultiUnreadCountZeroCallback
 多条会话未读消息数清零回调模板
 
typedef std::function< void(nim::NIMResCode, const SessionData &)> QuerySessionDataCallback
 会话信息查询结果回调模板
 
typedef std::function< void(const StickTopSession &)> SetToStickTopSessionNotifyCallback
 置顶会话通知回调模板
 
typedef std::function< void(const std::string &session_id, nim::NIMSessionType)> CancelStickTopSessionNotifyCallback
 取消置顶会话通知回调模板
 
typedef std::function< void(const StickTopSession &)> UpdateStickTopSessionNotifyCallback
 更新置顶会话通知回调模板
 
typedef std::function< void(nim::NIMResCode, const StickTopSession &)> SetToStickTopSessionCallback
 置顶会话回调模板
 
typedef std::function< void(nim::NIMResCode, const std::string &session_id, nim::NIMSessionType)> CancelStickTopSessionCallback
 取消置顶会话回调模板
 
typedef std::function< void(nim::NIMResCode, const StickTopSession &)> UpdateStickTopSessionCallback
 更新置顶会话回调模板
 
typedef std::function< void(nim::NIMResCode, const StickTopSessionList &)> QueryStickTopSessionListCallback
 查询置顶会话列表回调模板
 
typedef std::function< void(nim::NIMResCode, const SessionRoamMsgHasMoreTagInfo &info)> QueryHasmoreRoammsgCallback
 查询会话是漫游消息未拉取信息回调模板
 
typedef std::function< void(nim::NIMResCode, const std::list< SessionRoamMsgHasMoreTagInfo > &info_list)> QueryAllHasmoreRoammsgCallback
 查询所有漫游消息未拉取完全的会话回调模板
 
typedef std::function< void(nim::NIMResCode)> UpdateHasmoreRoammsgCallback
 更新会话是漫游消息未拉取信息回调模板
 
typedef std::function< void(nim::NIMResCode)> DeleteHasmoreRoammsgCallback
 删除会话是漫游消息未拉取信息回调模板
 
typedef std::function< void(nim::NIMResCode, nim::NIMSessionType, const std::string &session_id)> DeleteSessionRoammsgCallback
 删除会话是漫游消息未拉取信息回调模板
 

Static Public Member Functions

static void RegChangeCb (const ChangeCallback &cb, const std::string &json_extension="")
 
static void RegBadgeCountCb (const BadgeCountCallback &cb, const std::string &json_extension="")
 
static void QueryLastFewSessionAsync (int limit, const QuerySessionListCallabck &cb, const std::string &json_extension="")
 
static void QueryAllRecentSessionAsync (const QuerySessionListCallabck &cb, const std::string &json_extension="")
 
static void QueryAllRecentSessionAsnc (NIMMessageType last_msg_excluded_type, const QuerySessionListCallabck &cb, const std::string &json_extension="")
 
static void QueryAllRecentSessionAsyncEx (const std::list< NIMMessageType > &last_msg_excluded_type, const QuerySessionListCallabck &cb, const std::string &json_extension="")
 
static bool DeleteRecentSession (nim::NIMSessionType to_type, const std::string &id, const DeleteRecentSessionCallabck &cb, const std::string &json_extension="")
 
static bool DeleteRecentSessionEx (nim::NIMSessionType to_type, const std::string &id, const DeleteRecentSessionCallabck &cb, bool delete_roaming)
 
static bool DeleteSessionRoamingMessage (nim::NIMSessionType to_type, const std::string &id, const DeleteSessionRoammsgCallback &cb, const std::string &json_extension="")
 
static void DeleteAllRecentSession (const DeleteAllRecentSessionCallabck &cb, const std::string &json_extension="")
 
static bool SetUnreadCountZeroAsync (nim::NIMSessionType to_type, const std::string &id, const SetUnreadCountZeroCallback &cb, const std::string &json_extension="")
 
static bool SetMultiUnreadCountZeroAsync (bool super_team, const std::list< MultiUnreadCountZeroInfo > &unread_zero_info_list, const SetMultiUnreadCountZeroCallback &cb)
 
static bool SetSessionTop (enum NIMSessionType to_type, const std::string &id, bool top, const ChangeCallback &cb, const std::string &json_extension="")
 
static bool SetSessionExtendData (enum NIMSessionType to_type, const std::string &id, const std::string &data, const ChangeCallback &cb, const std::string &json_extension="")
 
static bool SetAllUnreadCountZeroAsync (const SetUnreadCountZeroCallback &cb, const std::string &json_extension="")
 
static void QuerySessionDataById (NIMSessionType to_type, const std::string &id, const QuerySessionDataCallback &cb, const std::string &json_extension="")
 
static void RegSetToStickTopSessionNotifyCB (const SetToStickTopSessionNotifyCallback &cb)
 
static void RegCancelStickTopSessionNotifyCB (const CancelStickTopSessionNotifyCallback &cb)
 
static void RegUpdateStickTopSessionNotifyCB (const UpdateStickTopSessionNotifyCallback &cb)
 
static void QueryStickTopSessionList (const QueryStickTopSessionListCallback &cb)
 
static void SetToStickTopSession (const std::string &session_id, nim::NIMSessionType to_type, const std::string &ext, const SetToStickTopSessionCallback &cb)
 
static void UpdateToStickTopSession (const std::string &session_id, nim::NIMSessionType to_type, const std::string &ext, const UpdateStickTopSessionCallback &cb)
 
static void CancelToStickTopSession (const std::string &session_id, nim::NIMSessionType to_type, const CancelStickTopSessionCallback &cb)
 
static void QueryHasmoreRoammsg (const std::string &session_id, nim::NIMSessionType to_type, const QueryHasmoreRoammsgCallback &cb)
 
static void QueryAllHasmoreRoammsg (const QueryAllHasmoreRoammsgCallback &cb)
 
static void UpdateHasmoreRoammsg (const IMMessage &msg, const UpdateHasmoreRoammsgCallback &cb)
 
static void DeleteHasmoreRoammsg (const std::string &session_id, nim::NIMSessionType to_type, const DeleteHasmoreRoammsgCallback &cb)
 
static void UnregSessionCb ()
 

Detailed Description

会话列表管理功能;主要包括查询会话列表、删除会话列表等功能

Member Function Documentation

◆ CancelToStickTopSession()

void nim::Session::CancelToStickTopSession ( const std::string &  session_id,
nim::NIMSessionType  to_type,
const CancelStickTopSessionCallback cb 
)
static

取消置顶会话列表

Parameters
[in]session_id会话id
[in]to_type会话类型
[in]cb取消置顶会话设置结果的回调函数
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ DeleteAllRecentSession()

static void nim::Session::DeleteAllRecentSession ( const DeleteAllRecentSessionCallabck cb,
const std::string &  json_extension = "" 
)
static

删除全部最近联系人

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ DeleteHasmoreRoammsg()

void nim::Session::DeleteHasmoreRoammsg ( const std::string &  session_id,
nim::NIMSessionType  to_type,
const DeleteHasmoreRoammsgCallback cb 
)
static

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

Parameters
[in]session_id会话id
[in]to_type会话类型
[in]cb结果回调
Returns
void 无返回值

◆ DeleteRecentSession()

static bool nim::Session::DeleteRecentSession ( nim::NIMSessionType  to_type,
const std::string &  id,
const DeleteRecentSessionCallabck cb,
const std::string &  json_extension = "" 
)
static

删除最近联系人

Parameters
[in]to_type会话类型,双人0,群组1 (nim_msglog_def.h)
[in]id对方的account id或者群组tid。
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ DeleteRecentSessionEx()

static bool nim::Session::DeleteRecentSessionEx ( nim::NIMSessionType  to_type,
const std::string &  id,
const DeleteRecentSessionCallabck cb,
bool  delete_roaming 
)
static

删除最近联系人

Parameters
[in]to_type会话类型,双人0,群组1 (nim_msglog_def.h)
[in]id对方的account id或者群组tid。
[in]delete_roaming是否同时删除漫游消息
[in]cb最近会话列表项变更的回调函数
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ DeleteSessionRoamingMessage()

static bool nim::Session::DeleteSessionRoamingMessage ( nim::NIMSessionType  to_type,
const std::string &  id,
const DeleteSessionRoammsgCallback cb,
const std::string &  json_extension = "" 
)
static

删除某会话的漫游消息

Parameters
[in]to_type会话类型,双人0,群组1 (nim_msglog_def.h)
[in]id对方的account id或者群组tid。
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb删除结果 回调回调函数
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ QueryAllHasmoreRoammsg()

void nim::Session::QueryAllHasmoreRoammsg ( const QueryAllHasmoreRoammsgCallback cb)
static

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

Parameters
[in]cb结果回调
Returns
void 无返回值

◆ QueryAllRecentSessionAsync()

static void nim::Session::QueryAllRecentSessionAsync ( const QuerySessionListCallabck cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]cb查询会话列表的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

查询会话列表, 若last_msg_excluded_type与初始化配置session_ignore_msg_types_不一致时,会从消息数据库重新查询。

Parameters
[in]last_msg_excluded_type要排除掉的消息类型,如果不排除任何消息,参数请传入NIMMessageType::kNIMMessageTypeUnknown
[in]cb查询会话列表的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ QueryAllRecentSessionAsyncEx()

static void nim::Session::QueryAllRecentSessionAsyncEx ( const std::list< NIMMessageType > &  last_msg_excluded_type,
const QuerySessionListCallabck cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]last_msg_excluded_type要排除掉的消息类型(列表),如果不排除任何消息,传入空列表
[in]cb查询会话列表的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ QueryHasmoreRoammsg()

void nim::Session::QueryHasmoreRoammsg ( const std::string &  session_id,
nim::NIMSessionType  to_type,
const QueryHasmoreRoammsgCallback cb 
)
static

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

Parameters
[in]session_id会话id
[in]to_type会话类型
[in]cb查询会话是漫游消息未拉取信息回调函数
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ QueryLastFewSessionAsync()

static void nim::Session::QueryLastFewSessionAsync ( int  limit,
const QuerySessionListCallabck cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]limit要返回的最大数量
[in]cb查询会话列表的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ QuerySessionDataById()

static void nim::Session::QuerySessionDataById ( NIMSessionType  to_type,
const std::string &  id,
const QuerySessionDataCallback cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]cb会话信息查询结果的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ QueryStickTopSessionList()

void nim::Session::QueryStickTopSessionList ( const QueryStickTopSessionListCallback cb)
static

查询置顶会话列表

Parameters
[in]cb置顶会话列表查询结果的回调函数
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ RegBadgeCountCb()

static void nim::Session::RegBadgeCountCb ( const BadgeCountCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)注册app角标计数回调(仅iOS有效)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cbapp角标未读计数回调函数
Returns
void 无返回值
Note
错误码 200:成功

◆ RegCancelStickTopSessionNotifyCB()

static void nim::Session::RegCancelStickTopSessionNotifyCB ( const CancelStickTopSessionNotifyCallback cb)
static

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

Parameters
[in]cb取消置顶会话通知回调模板
Returns
void 无返回值

◆ RegChangeCb()

static void nim::Session::RegChangeCb ( const ChangeCallback cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数
Returns
void 无返回值
Note
错误码 200:成功

◆ RegSetToStickTopSessionNotifyCB()

static void nim::Session::RegSetToStickTopSessionNotifyCB ( const SetToStickTopSessionNotifyCallback cb)
static

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

Parameters
[in]cb置顶会话通知回调模板
Returns
void 无返回值

◆ RegUpdateStickTopSessionNotifyCB()

static void nim::Session::RegUpdateStickTopSessionNotifyCB ( const UpdateStickTopSessionNotifyCallback cb)
static

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

Parameters
[in]cb更新置顶会话通知回调模板
Returns
void 无返回值

◆ SetAllUnreadCountZeroAsync()

static bool nim::Session::SetAllUnreadCountZeroAsync ( const SetUnreadCountZeroCallback cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ SetMultiUnreadCountZeroAsync()

static bool nim::Session::SetMultiUnreadCountZeroAsync ( bool  super_team,
const std::list< MultiUnreadCountZeroInfo > &  unread_zero_info_list,
const SetMultiUnreadCountZeroCallback cb 
)
static

最近联系人项未读数清零

Parameters
[in]super_team会话列表中的会话是否是超大群会话
[in]unread_zero_info_list清零的会话信息列表。
[in]cb最近会话列表项变更的回调函数
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ SetSessionExtendData()

static bool nim::Session::SetSessionExtendData ( enum NIMSessionType  to_type,
const std::string &  id,
const std::string &  data,
const ChangeCallback cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]data扩展数据,建议使用灵活可扩展的数据结构,例如Json
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ SetSessionTop()

static bool nim::Session::SetSessionTop ( enum NIMSessionType  to_type,
const std::string &  id,
bool  top,
const ChangeCallback cb,
const std::string &  json_extension = "" 
)
static

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

Parameters
[in]to_type会话类型
[in]id对方的account id或者群组tid。
[in]toptrue - 置顶 false - 取消置顶
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ SetToStickTopSession()

static void nim::Session::SetToStickTopSession ( const std::string &  session_id,
nim::NIMSessionType  to_type,
const std::string &  ext,
const SetToStickTopSessionCallback cb 
)
static

设置置顶会话

Parameters
[in]session_id会话id
[in]to_type会话类型
[in]ext扩展字段
[in]cb置顶会话设置结果的回调函数
Returns
void 无返回值
Note
错误码 200:成功 0:失败

◆ SetUnreadCountZeroAsync()

static bool nim::Session::SetUnreadCountZeroAsync ( nim::NIMSessionType  to_type,
const std::string &  id,
const SetUnreadCountZeroCallback cb,
const std::string &  json_extension = "" 
)
static

最近联系人项未读数清零

Parameters
[in]to_type会话类型,双人0,群组1 (nim_msglog_def.h)
[in]id对方的account id或者群组tid。
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb最近会话列表项变更的回调函数
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 0:失败

◆ UnregSessionCb()

void nim::Session::UnregSessionCb ( )
static

反注册Session提供的所有回调

Returns
void 无返回值

◆ UpdateHasmoreRoammsg()

void nim::Session::UpdateHasmoreRoammsg ( const IMMessage msg,
const UpdateHasmoreRoammsgCallback cb 
)
static

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

Parameters
[in]msg对应的消息内容
[in]cb结果回调
Returns
void 无返回值

◆ UpdateToStickTopSession()

static void nim::Session::UpdateToStickTopSession ( const std::string &  session_id,
nim::NIMSessionType  to_type,
const std::string &  ext,
const UpdateStickTopSessionCallback cb 
)
static

更新置顶会话列表

Parameters
[in]session_id会话id
[in]to_type会话类型
[in]ext扩展字段
[in]cb更新置顶会话设置结果的回调函数
Returns
void 无返回值
Note
错误码 200:成功 0:失败

The documentation for this class was generated from the following files: