NERoom SDK V1.36.0
载入中...
搜索中...
未找到
message_service_interface.h
浏览该文件的文档.
1// Copyright (c) 2022 NetEase, Inc. All rights reserved.
2// Use of this source code is governed by a MIT license that can be
3// found in the LICENSE file.
4
11#ifndef MESSAGE_SERVICE_INTERFACE_H
12#define MESSAGE_SERVICE_INTERFACE_H
13
15#include "base_type_defines.h"
16#include "error_code_defines.h"
17
18namespace neroom {
19
24
25class INEMessageChannelListener;
26
52
83
91 std::string sessionID;
99 std::string fromAccount;
103 std::string fromNick;
107 std::string recentMessageID;
111 std::string content;
115 time_t timestamp;
119 uint32_t unreadCount;
120};
121
122
127public:
129
130public:
135
139 ~INEMessageChannelService() override = default;
140
147
153
163 virtual void sendCustomMessage(const std::string& roomUuid,
164 const std::string& userUuid,
165 int commandId,
166 const std::string& data,
167 const NEMessageCallback& callback) = 0;
178 virtual void sendCustomMessageToRoom(const std::string& roomUuid,
179 int commandId,
180 const std::string& data,
181 const NEMessageCallback& callback) = 0;
182
190 virtual void queryUnreadMessageList(const std::string& sessionID,
191 NERoomSessionType sessionType,
192 const NECallback<std::list<NECustomSessionMessage>>& callback) = 0;
193
201 virtual void clearUnreadCount(const std::string& sessionID, const NERoomSessionType& sessionType, const NEMessageCallback& callback) = 0;
202
211 virtual void deleteSessionMessage(const std::string& sessionID,
212 const NERoomSessionType& sessionType,
213 const std::string& messageID,
214 const NEMessageCallback& callback) = 0;
215
223 virtual void deleteAllSessionMessage(const std::string& sessionID, const NERoomSessionType& sessionType, const NEMessageCallback& callback) = 0;
224
232 const NECallback<std::list<NECustomSessionMessage>>& callback) = 0;
233};
234
241public:
246
250 virtual ~INEMessageChannelListener() = default;
251
257 virtual void onCustomMessageReceived(const NECustomMessage& message) { (void)message; };
262 virtual void onSessionMessageReceived(const NECustomSessionMessage& message) = 0;
263
268 virtual void onSessionMessageRecentChanged(const std::list<NERoomRecentSession>& sessions) = 0;
269
274 virtual void onSessionMessageDeleted(const NECustomSessionMessage& message) = 0;
275
281 virtual void onSessionMessageAllDeleted(const std::string& sessionID, const NERoomSessionType& sessionType) = 0;
282};
283
284} // namespace neroom
285
286#endif // MESSAGE_SERVICE_INTERFACE_H
基础服务接口头文件
基本类型定义头文件
virtual void onSessionMessageAllDeleted(const std::string &sessionID, const NERoomSessionType &sessionType)=0
会话消息被清空通知
virtual void onSessionMessageDeleted(const NECustomSessionMessage &message)=0
会话消息被删除通知
virtual void onSessionMessageRecentChanged(const std::list< NERoomRecentSession > &sessions)=0
会话列表变更通知
virtual void onSessionMessageReceived(const NECustomSessionMessage &message)=0
收到自定义会话消息通知
INEMessageChannelListener()=default
构造函数
virtual ~INEMessageChannelListener()=default
析构函数
virtual void onCustomMessageReceived(const NECustomMessage &message)
接收到自定义消息
virtual void clearUnreadCount(const std::string &sessionID, const NERoomSessionType &sessionType, const NEMessageCallback &callback)=0
清空某会话未读计数
virtual void deleteSessionMessage(const std::string &sessionID, const NERoomSessionType &sessionType, const std::string &messageID, const NEMessageCallback &callback)=0
删除指定会话的指定消息
~INEMessageChannelService() override=default
析构函数
INEMessageChannelService()=default
构造函数
virtual void addMessageChannelListener(INEMessageChannelListener *listener)=0
添加消息监听
virtual void deleteAllSessionMessage(const std::string &sessionID, const NERoomSessionType &sessionType, const NEMessageCallback &callback)=0
删除指定聊天对象和会话类型的最近会话记录,包括本地最近会话和漫游消息
virtual void sendCustomMessage(const std::string &roomUuid, const std::string &userUuid, int commandId, const std::string &data, const NEMessageCallback &callback)=0
给房间内的[userUuid]发送自定义消息,如房间内信令
virtual void queryUnreadMessageList(const std::string &sessionID, NERoomSessionType sessionType, const NECallback< std::list< NECustomSessionMessage > > &callback)=0
获取指定会话的未读消息列表
virtual void getSessionMessagesHistory(const NERoomGetSessionMessagesHistoryParam &parameter, const NECallback< std::list< NECustomSessionMessage > > &callback)=0
查询某会话的历史消息
virtual void sendCustomMessageToRoom(const std::string &roomUuid, int commandId, const std::string &data, const NEMessageCallback &callback)=0
给房间内的[userUuid]发送自定义消息,如房间内信令
virtual void removeMessageChannelListener(INEMessageChannelListener *listener)=0
移除消息监听
错误码定义头文件
std::function< void(int, const std::string &, const TResultParam &...)> NECallback
通用回调
struct tagNECustomMessage { std::string roomUuid; std::string senderUuid; std::string data; int commandId=0; } NECustomMessage
IM自定义透传消息
NEMessageSearchOrder
检索聊天室消息的排序规则
@ kNEMessageSearchOrderDesc
降序
NERoomSessionType sessionType
会话类型
time_t timestamp
会话最后一条消息的时间戳
std::string content
会话最后一条消息的内容
NERoomSessionType sessionType
会话类型
std::string fromNick
会话最后一条消息的发送者昵称
uint32_t unreadCount
当前会话总未读数
std::string recentMessageID
会话最后一条消息的 ID
std::string fromAccount
会话最后一条消息的发送者