floo2
Public Types | Public Member Functions | List of all members
floo::BMXConversation Class Referenceabstract

会话 More...

#include <bmx_conversation.h>

Inheritance diagram for floo::BMXConversation:
floo::BMXBaseObject

Public Types

enum  Type { Type::Single, Type::Group, Type::System }
 会话类型 More...
 
enum  Direction { Direction::Up, Direction::Down }
 消息搜索方向 More...
 

Public Member Functions

virtual ~BMXConversation ()
 析构函数
 
virtual int64_t conversationId ()=0
 会话Id More...
 
virtual Type type ()=0
 会话类型 More...
 
virtual BMXMessagePtr lastMsg ()=0
 最新消息 More...
 
virtual int32_t unreadNumber ()=0
 未读消息数 More...
 
virtual int32_t messageCount ()=0
 会话中所有消息的数量 More...
 
virtual bool isMuteNotification ()=0
 是否提醒用户消息,不提醒的情况下会话总未读数不会统计该会话计数。 More...
 
virtual const JSON & extension ()=0
 扩展信息 More...
 
virtual BMXErrorCode setExtension (const std::string &ext)=0
 设置扩展信息 More...
 
virtual const std::string & editMessage ()=0
 编辑消息 More...
 
virtual BMXErrorCode setEditMessage (const std::string &editMessage)=0
 设置编辑消息 More...
 
virtual BMXErrorCode setMessagePlayedStatus (BMXMessagePtr msg, bool status)=0
 设置消息播放状态(只对语音/视频消息有效) More...
 
virtual BMXErrorCode setMessageReadStatus (BMXMessagePtr msg, bool status)=0
 设置消息未读状态,更新未读消息数 More...
 
virtual BMXErrorCode setAllMessagesRead ()=0
 把所有消息设置为已读,更新未读消息数 More...
 
virtual BMXErrorCode updateMessageExtension (BMXMessagePtr msg)=0
 更新一条数据库存储消息的扩展字段信息 More...
 
virtual BMXErrorCode insertMessage (BMXMessagePtr msg)=0
 插入一条消息 More...
 
virtual BMXMessagePtr loadMessage (int64_t msgId)=0
 读取一条消息 More...
 
virtual BMXErrorCode removeAllMessages ()=0
 删除会话中的所有消息 More...
 
virtual BMXErrorCode loadMessages (int64_t refMsgId, size_t size, BMXMessageList &result, Direction=Direction::Up)=0
 加载消息,如果不指定则从最新消息开始 More...
 
virtual BMXErrorCode searchMessagesByKeyWords (const std::string &keywords, int64_t refTime, size_t size, BMXMessageList &result, Direction=Direction::Up)=0
 搜索消息,如果不指定则从最新消息开始 More...
 
virtual BMXErrorCode searchMessages (const std::string &keywords, int64_t refTime, size_t size, BMXMessageList &result, Direction=Direction::Up)=0
 搜索消息,如果不指定则从最新消息开始 More...
 
virtual BMXErrorCode searchMessagesByType (BMXMessage::ContentType type, int64_t refTime, size_t size, BMXMessageList &result, Direction=Direction::Up)=0
 按照类型搜索消息,如果不指定则从最新消息开始 More...
 
virtual BMXErrorCode searchMessages (BMXMessage::ContentType type, int64_t refTime, size_t size, BMXMessageList &result, Direction=Direction::Up)=0
 按照类型搜索消息,如果不指定则从最新消息开始 More...
 
virtual BMXErrorCode refreshConversation ()=0
 读取数据库当前会话所有消息数量,强制更新conversation的消息总数和未读消息数。 More...
 
- Public Member Functions inherited from floo::BMXBaseObject
template<typename T >
T * cast ()
 

Detailed Description

会话

Member Enumeration Documentation

◆ Direction

消息搜索方向

Enumerator
Up 

取更旧消息

Down 

取更新消息

◆ Type

会话类型

Enumerator
Single 

单聊

Group 

群聊

System 

系统通知

Member Function Documentation

◆ conversationId()

virtual int64_t floo::BMXConversation::conversationId ( )
pure virtual

会话Id

Returns
int64_t

◆ editMessage()

virtual const std::string& floo::BMXConversation::editMessage ( )
pure virtual

编辑消息

Returns
std::string

◆ extension()

virtual const JSON& floo::BMXConversation::extension ( )
pure virtual

扩展信息

Returns
JSON(std::string)

◆ insertMessage()

virtual BMXErrorCode floo::BMXConversation::insertMessage ( BMXMessagePtr  msg)
pure virtual

插入一条消息

Parameters
msg插入的消息
Returns
BMXErrorCode

◆ isMuteNotification()

virtual bool floo::BMXConversation::isMuteNotification ( )
pure virtual

是否提醒用户消息,不提醒的情况下会话总未读数不会统计该会话计数。

Returns
bool

◆ lastMsg()

virtual BMXMessagePtr floo::BMXConversation::lastMsg ( )
pure virtual

最新消息

Returns
BMXMessagePtr

◆ loadMessage()

virtual BMXMessagePtr floo::BMXConversation::loadMessage ( int64_t  msgId)
pure virtual

读取一条消息

Parameters
msgId需要读取的消息的消息id
Returns
BMXMessagePtr

◆ loadMessages()

virtual BMXErrorCode floo::BMXConversation::loadMessages ( int64_t  refMsgId,
size_t  size,
BMXMessageList &  result,
Direction  = Direction::Up 
)
pure virtual

加载消息,如果不指定则从最新消息开始

Parameters
refMsgId加载消息的起始id
size最大加载消息条数
result数据库返回的加载消息列表
Direction加载消息的方向,默认是加载更早的消息
Returns
BMXErrorCode

◆ messageCount()

virtual int32_t floo::BMXConversation::messageCount ( )
pure virtual

会话中所有消息的数量

Returns
int32_t

◆ refreshConversation()

virtual BMXErrorCode floo::BMXConversation::refreshConversation ( )
pure virtual

读取数据库当前会话所有消息数量,强制更新conversation的消息总数和未读消息数。

Returns
BMXErrorCode

◆ removeAllMessages()

virtual BMXErrorCode floo::BMXConversation::removeAllMessages ( )
pure virtual

删除会话中的所有消息

Returns
BMXErrorCode

◆ searchMessages() [1/2]

virtual BMXErrorCode floo::BMXConversation::searchMessages ( const std::string &  keywords,
int64_t  refTime,
size_t  size,
BMXMessageList &  result,
Direction  = Direction::Up 
)
pure virtual

搜索消息,如果不指定则从最新消息开始

Deprecated. use searchMessagesByKeyWords instead.

Parameters
keywords搜索消息的关键字
refTime搜索消息的起始时间
size最大加载消息条数
result搜索到的消息结果列表
Direction消息搜索方向,默认(Direction::Up)是从更早的消息中搜索
Returns
BMXErrorCode

◆ searchMessages() [2/2]

virtual BMXErrorCode floo::BMXConversation::searchMessages ( BMXMessage::ContentType  type,
int64_t  refTime,
size_t  size,
BMXMessageList &  result,
Direction  = Direction::Up 
)
pure virtual

按照类型搜索消息,如果不指定则从最新消息开始

Deprecated. use searchMessagesByType instead.

Parameters
type搜索消息的类型
refTime搜索消息的起始时间
size最大加载消息条数
result搜索到的消息结果列表
Direction消息搜索方向,默认(Direction::Up)是从更早的消息中搜索
Returns
BMXErrorCode

◆ searchMessagesByKeyWords()

virtual BMXErrorCode floo::BMXConversation::searchMessagesByKeyWords ( const std::string &  keywords,
int64_t  refTime,
size_t  size,
BMXMessageList &  result,
Direction  = Direction::Up 
)
pure virtual

搜索消息,如果不指定则从最新消息开始

Parameters
keywords搜索消息的关键字
refTime搜索消息的起始时间
size最大加载消息条数
result搜索到的消息结果列表
Direction消息搜索方向,默认(Direction::Up)是从更早的消息中搜索
Returns
BMXErrorCode

◆ searchMessagesByType()

virtual BMXErrorCode floo::BMXConversation::searchMessagesByType ( BMXMessage::ContentType  type,
int64_t  refTime,
size_t  size,
BMXMessageList &  result,
Direction  = Direction::Up 
)
pure virtual

按照类型搜索消息,如果不指定则从最新消息开始

Parameters
type搜索消息的类型
refTime搜索消息的起始时间
size最大加载消息条数
result搜索到的消息结果列表
Direction消息搜索方向,默认(Direction::Up)是从更早的消息中搜索
Returns
BMXErrorCode

◆ setAllMessagesRead()

virtual BMXErrorCode floo::BMXConversation::setAllMessagesRead ( )
pure virtual

把所有消息设置为已读,更新未读消息数

Returns
BMXErrorCode

◆ setEditMessage()

virtual BMXErrorCode floo::BMXConversation::setEditMessage ( const std::string &  editMessage)
pure virtual

设置编辑消息

Parameters
editMessage会话正在编辑的文本消息
Returns
BMXErrorCode

◆ setExtension()

virtual BMXErrorCode floo::BMXConversation::setExtension ( const std::string &  ext)
pure virtual

设置扩展信息

Parameters
ext会话扩展消息
Returns
BMXErrorCode

◆ setMessagePlayedStatus()

virtual BMXErrorCode floo::BMXConversation::setMessagePlayedStatus ( BMXMessagePtr  msg,
bool  status 
)
pure virtual

设置消息播放状态(只对语音/视频消息有效)

Parameters
msg需要设置播放状态的消息
status消息是否已经播放
Returns
BMXErrorCode

◆ setMessageReadStatus()

virtual BMXErrorCode floo::BMXConversation::setMessageReadStatus ( BMXMessagePtr  msg,
bool  status 
)
pure virtual

设置消息未读状态,更新未读消息数

Parameters
msg需要设置消息已读状态的消息
status消息是否设置已读
Returns
BMXErrorCode

◆ type()

virtual Type floo::BMXConversation::type ( )
pure virtual

会话类型

Returns
Type

◆ unreadNumber()

virtual int32_t floo::BMXConversation::unreadNumber ( )
pure virtual

未读消息数

Returns
int32_t

◆ updateMessageExtension()

virtual BMXErrorCode floo::BMXConversation::updateMessageExtension ( BMXMessagePtr  msg)
pure virtual

更新一条数据库存储消息的扩展字段信息

Parameters
msg需要更改扩展信息的消息此时msg部分已经更新扩展字椴信息
Returns
BMXErrorCode

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