floo2
Public Types | Public Member Functions | Static Public Member Functions | List of all members
floo::BMXMessage Class Reference

消息 More...

#include <bmx_message.h>

Inheritance diagram for floo::BMXMessage:
floo::BMXBaseObject

Public Types

enum  DeliveryStatus {
  DeliveryStatus::New, DeliveryStatus::Delivering, DeliveryStatus::Deliveried, DeliveryStatus::Failed,
  DeliveryStatus::Recalled
}
 消息投递状态 More...
 
enum  MessageType { MessageType::Single, MessageType::Group, MessageType::System }
 消息类型 More...
 
enum  ContentType {
  ContentType::Text, ContentType::Image, ContentType::Voice, ContentType::Video,
  ContentType::File, ContentType::Location, ContentType::Command, ContentType::Forward
}
 消息内容类型 More...
 
enum  DeliveryQos { DeliveryQos::AtLastOnce, DeliveryQos::AtMostOnce, DeliveryQos::ExactlyOnce }
 消息投递质量 More...
 

Public Member Functions

virtual ~BMXMessage ()
 析构函数
 
int64_t msgId ()
 消息唯一ID More...
 
int64_t clientMsgId ()
 消息客户端ID,仅在消息发送端存在 More...
 
int64_t fromId ()
 消息发送方ID More...
 
int64_t toId ()
 消息接收方ID More...
 
MessageType type ()
 消息类型 More...
 
int64_t conversationId ()
 消息所属会话ID More...
 
DeliveryStatus deliveryStatus ()
 消息投递状态 More...
 
void setDeliveryStatus (DeliveryStatus)
 设置消息投递状态
 
int64_t serverTimestamp ()
 消息时间戳(服务端收到时的时间) More...
 
void setServerTimestamp (int64_t)
 设置时间戳(服务端收到时的时间)
 
int64_t clientTimestamp ()
 本地时间戳(消息创建或者收到时的本地时间) More...
 
void setClientTimestamp (int64_t)
 设置消息本地时间戳
 
bool isPlayed ()
 语音或者视频消息是否播放过,仅对收到的音视频消息有效 More...
 
void setIsPlayed (bool)
 设置语音或者视频消息是否播放过,仅对收到的音视频消息有效
 
bool isPlayAcked ()
 对于发送方表示是否收到了已播放回执,对于接收方表示是否发送了已播放回执 More...
 
void setIsPlayAcked (bool)
 设置已播放回执
 
bool isReceiveMsg ()
 是否接收的消息 More...
 
void setIsReceiveMsg (bool)
 设置是否接收的消息
 
bool isRead ()
 消息是否已读标志 More...
 
void setIsRead (bool)
 消息是否已读标志
 
bool isReadAcked ()
 对于发送方表示是否收到了已读回执,对于接收方表示是否发送了已读回执 More...
 
void setIsReadAcked (bool)
 设置已读回执
 
bool isDeliveryAcked ()
 对于发送方表示消息是否已投递到对方,对于接收方表示是否发送了消息已到达回执 More...
 
void setIsDeliveryAcked (bool)
 设置投递回执
 
const std::string & content ()
 消息文本内容 More...
 
void setContent (const std::string &content)
 消息文本内容 More...
 
ContentType contentType ()
 消息内容类型,如果带附件就表示附件类型,不带附件就是文本类型 More...
 
BMXMessageAttachmentPtr attachment ()
 消息附件,BMXMessage拥有附件的所有权,负责释放 More...
 
BMXMessageConfigPtr config ()
 消息的配置信息 More...
 
void setConfig (BMXMessageConfigPtr)
 设置消息配置信息
 
const JSON & extension ()
 消息扩展信息 More...
 
void setExtension (const JSON &)
 设置消息扩展信息
 
DeliveryQos deliveryQos ()
 消息投递QOS More...
 
void setDeliveryQos (DeliveryQos qos)
 设置消息投递QOS More...
 
const std::string & senderName ()
 消息发送者的显示名称 More...
 
void setSenderName (const std::string &senderName)
 设置消息的发送者显示名称 More...
 
int groupAckCount ()
 群消息已读AckCount数目 More...
 
void setGroupAckCount (int count)
 设置消息已读groupAckCount数目(SDK 内部调用接口,上层不应该调用) More...
 
int groupAckUnreadCount ()
 群消息未读AckCount数目 More...
 
void setGroupAckUnreadCount (int count)
 设置消息未读groupAckCount数目(SDK 内部调用接口,上层不应该调用) More...
 
bool groupAckReadAll ()
 群消息是否全部已读 More...
 
int groupPlayAckCount ()
 群消息已播放AckCount数目(仅用于音频/视频附件消息) More...
 
void setGroupPlayAckCount (int count)
 设置消息已播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息) More...
 
int groupPlayAckUnreadCount ()
 群消息未播放AckCount数目(仅用于音频/视频附件消息) More...
 
void setGroupPlayAckUnreadCount (int count)
 设置消息未播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息) More...
 
bool groupPlayAckReadAll ()
 群消息是否全部已播放 More...
 
void setPriority (int priority)
 设置消息的扩散优先级,默认为0。0表示扩散,数字越小扩散的越多。 More...
 
int priority ()
 消息的扩散优先级 More...
 
void setPushMessageMode (bool)
 设置消息是否为推送消息。
 
bool isPushMessage ()
 消息是否是推送消息 More...
 
- Public Member Functions inherited from floo::BMXBaseObject
template<typename T >
T * cast ()
 

Static Public Member Functions

static BMXMessagePtr createMessage (int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string &content)
 创建发送文本消息 More...
 
static BMXMessagePtr createMessage (int64_t from, int64_t to, MessageType type, int64_t conversationId, BMXMessageAttachmentPtr attachment)
 创建发送附件消息 More...
 
static BMXMessagePtr createCommandMessage (int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string &content)
 创建发送命令消息(命令消息通过content字段或者extension字段存放命令信息) More...
 
static BMXMessagePtr createMessage (int64_t msgId, int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string &content, int64_t serverTimestamp)
 创建收到的消息 More...
 
static BMXMessagePtr createMessage (int64_t msgId, int64_t from, int64_t to, MessageType type, int64_t conversationId, BMXMessageAttachmentPtr attachment, int64_t serverTimestamp)
 创建收到的消息 More...
 
static BMXMessagePtr createCommandMessage (int64_t msgId, int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string &content, int64_t serverTimestamp)
 创建收到的命令消息(命令消息通过content字段或者extension字段存放命令信息) More...
 
static BMXMessagePtr createForwardMessage (BMXMessagePtr msg, int64_t from, int64_t to, MessageType type, int64_t conversationId)
 创建转发消息 More...
 

Detailed Description

消息

Member Enumeration Documentation

◆ ContentType

消息内容类型

Enumerator
Text 

文本消息

Image 

图片消息

Voice 

语音消息

Video 

视频片段消息

File 

文件消息

Location 

位置消息

Command 

命令消息

Forward 

转发消息

◆ DeliveryQos

消息投递质量

Enumerator
AtLastOnce 

最少投递一次

AtMostOnce 

最多投递一次

ExactlyOnce 

仅投递一次

◆ DeliveryStatus

消息投递状态

Enumerator
New 

新创建消息

Delivering 

消息投递中

Deliveried 

消息已投递

Failed 

消息投递失败

Recalled 

消息已撤回

◆ MessageType

消息类型

Enumerator
Single 

单聊消息

Group 

群聊消息

System 

系统消息

Member Function Documentation

◆ attachment()

BMXMessageAttachmentPtr floo::BMXMessage::attachment ( )

消息附件,BMXMessage拥有附件的所有权,负责释放

Returns
BMXMessageAttachmentPtr

◆ clientMsgId()

int64_t floo::BMXMessage::clientMsgId ( )

消息客户端ID,仅在消息发送端存在

Returns
int64_t

◆ clientTimestamp()

int64_t floo::BMXMessage::clientTimestamp ( )

本地时间戳(消息创建或者收到时的本地时间)

Returns
int64_t

◆ config()

BMXMessageConfigPtr floo::BMXMessage::config ( )

消息的配置信息

Returns
JSON(std::string)

◆ content()

const std::string& floo::BMXMessage::content ( )

消息文本内容

Returns
std::string

◆ contentType()

ContentType floo::BMXMessage::contentType ( )

消息内容类型,如果带附件就表示附件类型,不带附件就是文本类型

Returns
ContentType

◆ conversationId()

int64_t floo::BMXMessage::conversationId ( )

消息所属会话ID

Returns
int64_t

◆ createCommandMessage() [1/2]

static BMXMessagePtr floo::BMXMessage::createCommandMessage ( int64_t  from,
int64_t  to,
MessageType  type,
int64_t  conversationId,
const std::string &  content 
)
static

创建发送命令消息(命令消息通过content字段或者extension字段存放命令信息)

Parameters
from消息发送者
to消息接收者
type消息类型
conversationId会话id
content消息内容

◆ createCommandMessage() [2/2]

static BMXMessagePtr floo::BMXMessage::createCommandMessage ( int64_t  msgId,
int64_t  from,
int64_t  to,
MessageType  type,
int64_t  conversationId,
const std::string &  content,
int64_t  serverTimestamp 
)
static

创建收到的命令消息(命令消息通过content字段或者extension字段存放命令信息)

Parameters
msgId消息id
from消息发送者
to消息接收者
type消息类型
conversationId会话id
content消息内容
serverTimestamp服务器时间戳

◆ createForwardMessage()

static BMXMessagePtr floo::BMXMessage::createForwardMessage ( BMXMessagePtr  msg,
int64_t  from,
int64_t  to,
MessageType  type,
int64_t  conversationId 
)
static

创建转发消息

Parameters
msg要转发的消息
from消息发送者
to消息接收者
type消息类型
conversationId会话id

◆ createMessage() [1/4]

static BMXMessagePtr floo::BMXMessage::createMessage ( int64_t  from,
int64_t  to,
MessageType  type,
int64_t  conversationId,
const std::string &  content 
)
static

创建发送文本消息

Parameters
from消息发送者
to消息接收者
type消息类型
conversationId会话id
content消息内容

◆ createMessage() [2/4]

static BMXMessagePtr floo::BMXMessage::createMessage ( int64_t  from,
int64_t  to,
MessageType  type,
int64_t  conversationId,
BMXMessageAttachmentPtr  attachment 
)
static

创建发送附件消息

Parameters
from消息发送者
to消息接收者
type消息类型
conversationId会话id
attachment附件

◆ createMessage() [3/4]

static BMXMessagePtr floo::BMXMessage::createMessage ( int64_t  msgId,
int64_t  from,
int64_t  to,
MessageType  type,
int64_t  conversationId,
const std::string &  content,
int64_t  serverTimestamp 
)
static

创建收到的消息

Parameters
msgId消息id
from消息发送者
to消息接收者
type消息类型
conversationId会话id
content消息内容
serverTimestamp服务器时间戳

◆ createMessage() [4/4]

static BMXMessagePtr floo::BMXMessage::createMessage ( int64_t  msgId,
int64_t  from,
int64_t  to,
MessageType  type,
int64_t  conversationId,
BMXMessageAttachmentPtr  attachment,
int64_t  serverTimestamp 
)
static

创建收到的消息

Parameters
msgId消息id
from消息发送者
to消息接收者
type消息类型
conversationId会话id
attachment附件
serverTimestamp服务器时间戳

◆ deliveryQos()

DeliveryQos floo::BMXMessage::deliveryQos ( )

消息投递QOS

Returns
DeliveryQos

◆ deliveryStatus()

DeliveryStatus floo::BMXMessage::deliveryStatus ( )

消息投递状态

Returns
DeliveryStatus

◆ extension()

const JSON& floo::BMXMessage::extension ( )

消息扩展信息

Returns
JSON(std::string)

◆ fromId()

int64_t floo::BMXMessage::fromId ( )

消息发送方ID

Returns
int64_t

◆ groupAckCount()

int floo::BMXMessage::groupAckCount ( )

群消息已读AckCount数目

Returns
int

◆ groupAckReadAll()

bool floo::BMXMessage::groupAckReadAll ( )

群消息是否全部已读

Returns
bool

◆ groupAckUnreadCount()

int floo::BMXMessage::groupAckUnreadCount ( )

群消息未读AckCount数目

Returns
int

◆ groupPlayAckCount()

int floo::BMXMessage::groupPlayAckCount ( )

群消息已播放AckCount数目(仅用于音频/视频附件消息)

Returns
int

◆ groupPlayAckReadAll()

bool floo::BMXMessage::groupPlayAckReadAll ( )

群消息是否全部已播放

Returns
bool

◆ groupPlayAckUnreadCount()

int floo::BMXMessage::groupPlayAckUnreadCount ( )

群消息未播放AckCount数目(仅用于音频/视频附件消息)

Returns
int

◆ isDeliveryAcked()

bool floo::BMXMessage::isDeliveryAcked ( )

对于发送方表示消息是否已投递到对方,对于接收方表示是否发送了消息已到达回执

Returns
bool

◆ isPlayAcked()

bool floo::BMXMessage::isPlayAcked ( )

对于发送方表示是否收到了已播放回执,对于接收方表示是否发送了已播放回执

Returns
bool

◆ isPlayed()

bool floo::BMXMessage::isPlayed ( )

语音或者视频消息是否播放过,仅对收到的音视频消息有效

Returns
bool

◆ isPushMessage()

bool floo::BMXMessage::isPushMessage ( )

消息是否是推送消息

Returns
bool

◆ isRead()

bool floo::BMXMessage::isRead ( )

消息是否已读标志

Returns
bool

◆ isReadAcked()

bool floo::BMXMessage::isReadAcked ( )

对于发送方表示是否收到了已读回执,对于接收方表示是否发送了已读回执

Returns
bool

◆ isReceiveMsg()

bool floo::BMXMessage::isReceiveMsg ( )

是否接收的消息

Returns
bool

◆ msgId()

int64_t floo::BMXMessage::msgId ( )

消息唯一ID

Returns
int64_t

◆ priority()

int floo::BMXMessage::priority ( )

消息的扩散优先级

Returns
int

◆ senderName()

const std::string& floo::BMXMessage::senderName ( )

消息发送者的显示名称

Returns
std::string

◆ serverTimestamp()

int64_t floo::BMXMessage::serverTimestamp ( )

消息时间戳(服务端收到时的时间)

Returns
int64_t

◆ setContent()

void floo::BMXMessage::setContent ( const std::string &  content)

消息文本内容

Parameters
content消息文本内容

◆ setDeliveryQos()

void floo::BMXMessage::setDeliveryQos ( DeliveryQos  qos)

设置消息投递QOS

Parameters
qos消息投递QOS

◆ setGroupAckCount()

void floo::BMXMessage::setGroupAckCount ( int  count)

设置消息已读groupAckCount数目(SDK 内部调用接口,上层不应该调用)

Parameters
count设置群消息已读数目

◆ setGroupAckUnreadCount()

void floo::BMXMessage::setGroupAckUnreadCount ( int  count)

设置消息未读groupAckCount数目(SDK 内部调用接口,上层不应该调用)

Parameters
count设置群消息未读数目

◆ setGroupPlayAckCount()

void floo::BMXMessage::setGroupPlayAckCount ( int  count)

设置消息已播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息)

Parameters
count设置群消息已读数目

◆ setGroupPlayAckUnreadCount()

void floo::BMXMessage::setGroupPlayAckUnreadCount ( int  count)

设置消息未播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息)

Parameters
count设置群消息未播放数目

◆ setPriority()

void floo::BMXMessage::setPriority ( int  priority)

设置消息的扩散优先级,默认为0。0表示扩散,数字越小扩散的越多。

取值范围0-10。普通人在聊天室发送的消息级别默认为5,可以丢弃。管理员默认为0不会丢弃。其它值可以根据业务自行设置。

Parameters
priority设置群消息未读数目

◆ setSenderName()

void floo::BMXMessage::setSenderName ( const std::string &  senderName)

设置消息的发送者显示名称

Parameters
senderName消息文本内容

◆ toId()

int64_t floo::BMXMessage::toId ( )

消息接收方ID

Returns
int64_t

◆ type()

MessageType floo::BMXMessage::type ( )

消息类型

Returns
MessageType

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