NERoom SDK V1.40.0
载入中...
搜索中...
未找到
room_context_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 ROOM_CONTEXT_INTERFACE_H
12#define ROOM_CONTEXT_INTERFACE_H
13
14#include "base_type_defines.h"
15#include "room_listener.h"
17
18namespace neroom {
19
20class INERoomChatController;
21class INERoomWhiteboardController;
22class INERoomRtcController;
23class INERoomLiveController;
24class INEWaitingRoomController;
25class INERoomSIPController;
26class INERoomAppInviteController;
27class INERoomAnnotationController;
28
33public:
38
39public:
43 INERoomContext() = default;
44
48 virtual ~INERoomContext() = default;
49
54 virtual std::string getRoomUuid() = 0;
55
60 virtual std::string getRoomName() = 0;
61
66 virtual std::string getRoomArchiveID() const = 0;
67
72 virtual std::string getPassword() = 0;
73
78 virtual std::string getSession() = 0;
79
84 virtual std::string getSipCid() = 0;
85
90 virtual std::uint64_t getRtcStartTime() = 0;
91
96 virtual std::uint64_t getRemainingSeconds() = 0;
97
98
103 virtual std::int64_t getMaxMembers() = 0;
104
110
115 virtual std::map<std::string, std::string> getRoomProperties() const = 0;
116
122
127 virtual std::list<SharedMemberPtr> getRemoteMembers() = 0;
128
134 virtual std::list<SharedMemberPtr> getInSIPInvitingMembers() = 0;
135
141 virtual std::list<SharedMemberPtr> getInAppInvitingMembers() = 0;
142
148
155
162
169
176
182
188
194
200
207 virtual void changeMyName(const std::string& name, const NERoomContextCallback& callback) = 0;
208
216 virtual void changeMemberName(const std::string& userUuid, const std::string& name, const NERoomContextCallback& callback) = 0;
217
225 virtual void changeMemberRole(const std::string& userUuid, const std::string& role, const NERoomContextCallback& callback) = 0;
226
233 virtual void changeMembersRole(const std::map<std::string, std::string>& userRoleMap, const NERoomContextCallback& callback) = 0;
234
241 virtual void handOverMyRole(const std::string& userUuid, const NERoomContextCallback& callback) = 0;
242
250 virtual void handOverMyRole(const std::string& userUuid, bool resign, const NERoomContextCallback& callback) = 0;
251
258 virtual void kickMemberOut(const std::string& userUuid, const NERoomContextCallback& callback) = 0;
259
267 virtual void kickMemberOut(const std::string& userUuid, bool toBlacklist, const NERoomContextCallback& callback) = 0;
268
274 virtual void addRoomListener(INERoomListener* listener) = 0;
275
281 virtual void removeRoomListener(INERoomListener* listener) = 0;
282
288 virtual void addRtcStatsListener(INERoomRtcStatsListener* listener) = 0;
289
296
302 virtual void rejoinAfterAdmittedToRoom(const NECallback<>& callback) = 0;
303
309 virtual void leaveRoom(const NERoomContextCallback& callback) = 0;
310
316 ROOMKIT_DEPRECATED("Use endRoom with force parameter instead")
317 virtual void endRoom(const NERoomContextCallback& callback) = 0;
318
324 virtual void endRoom(bool force, const NERoomContextCallback& callback) = 0;
325
331 virtual void lockRoom(const NERoomContextCallback& callback) = 0;
332
338 virtual void unlockRoom(const NERoomContextCallback& callback) = 0;
339
344 virtual bool isRoomLocked() = 0;
345
354 virtual void updateRoomProperty(const std::string& key,
355 const std::string& value,
356 const std::string& associatedUserUuid = "",
357 const NERoomContextCallback& callback = NERoomContextCallback()) = 0;
358
365 virtual void deleteRoomProperty(const std::string& key, const NERoomContextCallback& callback) = 0;
366
375 virtual void updateMemberProperty(const std::string& userUuid,
376 const std::string& key,
377 const std::string& value,
378 const NERoomContextCallback& callback) = 0;
379
387 virtual void deleteMemberProperty(const std::string& userUuid, const std::string& key, const NERoomContextCallback& callback) = 0;
388
395 virtual void startCloudRecord(const NEEmptyCallback& callback) const = 0;
396
404 virtual void startCloudRecord(const NERoomRecordConfig& recordConfig, const NEEmptyCallback& callback) const = 0;
405
412 virtual void stopCloudRecord(const NEEmptyCallback& callback) const = 0;
413
419 virtual bool isCloudRecording() const = 0;
420
426 virtual bool isInWaitingRoom() const = 0;
427
433 virtual bool isRoomBlacklistEnabled() const = 0;
434
441 virtual void enableRoomBlacklist(bool enable, const NEEmptyCallback& callback) = 0;
442};
443
444} // namespace neroom
445
446#endif // ROOM_CONTEXT_INTERFACE_H
基本类型定义头文件
virtual void removeRoomListener(INERoomListener *listener)=0
反注册房间事件监听
virtual bool isInWaitingRoom() const =0
获取房间是否在等候室
virtual void startCloudRecord(const NEEmptyCallback &callback) const =0
开启云录制
virtual void kickMemberOut(const std::string &userUuid, bool toBlacklist, const NERoomContextCallback &callback)=0
移除成员,可选择是否加入黑名单
INERoomContext()=default
构造函数
virtual bool isRoomLocked()=0
获取房间是否已锁定
virtual void addRoomListener(INERoomListener *listener)=0
注册房间事件监听
virtual void deleteRoomProperty(const std::string &key, const NERoomContextCallback &callback)=0
删除房间属性
NECallback<> NERoomContextCallback
房间回调函数模板
virtual void rejoinAfterAdmittedToRoom(const NECallback<> &callback)=0
当房间管理员同意您从等候室加入房间时,您需要调用此方法重新加入房间
virtual std::uint64_t getRtcStartTime()=0
获取房间rtc开始时间
virtual void kickMemberOut(const std::string &userUuid, const NERoomContextCallback &callback)=0
移除成员
virtual std::map< std::string, std::string > getRoomProperties() const =0
获取房间属性
virtual INERoomWhiteboardController * getWhiteboardController()=0
获取白板控制器
virtual void stopCloudRecord(const NEEmptyCallback &callback) const =0
停止云录制
virtual bool isCloudRecording() const =0
获取云录制状态
virtual void deleteMemberProperty(const std::string &userUuid, const std::string &key, const NERoomContextCallback &callback)=0
删除房间成员属性
virtual std::string getSession()=0
获取房间会话ID
virtual void unlockRoom(const NERoomContextCallback &callback)=0
解除锁定房间,解除锁定后成员可以加入房间
virtual void updateMemberProperty(const std::string &userUuid, const std::string &key, const std::string &value, const NERoomContextCallback &callback)=0
更新房间属性
virtual void removeRtcStatsListener(INERoomRtcStatsListener *listener)=0
移除Rtc统计数据监听
virtual void changeMemberName(const std::string &userUuid, const std::string &name, const NERoomContextCallback &callback)=0
修改成员昵称
virtual std::string getRoomName()=0
获取房间名
virtual void updateRoomProperty(const std::string &key, const std::string &value, const std::string &associatedUserUuid="", const NERoomContextCallback &callback=NERoomContextCallback())=0
更新房间属性
virtual void lockRoom(const NERoomContextCallback &callback)=0
锁定房间,锁定后成员无法加入房间
virtual std::list< SharedMemberPtr > getInSIPInvitingMembers()=0
正在SIP外呼邀请中的成员
virtual std::string getSipCid()=0
获取sipCid
virtual void handOverMyRole(const std::string &userUuid, const NERoomContextCallback &callback)=0
将自身当前的角色转移给[userUuid]对应的用户,自身会恢复到默认的房间角色,只有授权角色才能执行该操作
virtual void changeMyName(const std::string &name, const NERoomContextCallback &callback)=0
修改本端用户名
virtual INERoomRtcController * getRtcController()=0
获取RTC控制器
virtual INERoomAnnotationController * getAnnotationController()=0
获取批注控制器
virtual ~INERoomContext()=default
析构函数
virtual INERoomChatController * getWaitingRoomChatController()=0
获取等候室的聊天室控制器
virtual INERoomSIPController * getSIPController()=0
获取SIP控制器
virtual INERoomAppInviteController * getAppInviteController()=0
获取AppInvite控制器
virtual std::list< SharedMemberPtr > getRemoteMembers()=0
获取远端用户列表
virtual std::list< SharedMemberPtr > getInAppInvitingMembers()=0
正在APP外呼邀请中的成员
virtual std::string getRoomArchiveID() const =0
获取房间归档ID
virtual void changeMembersRole(const std::map< std::string, std::string > &userRoleMap, const NERoomContextCallback &callback)=0
virtual std::string getPassword()=0
获取房间密码
virtual void changeMemberRole(const std::string &userUuid, const std::string &role, const NERoomContextCallback &callback)=0
修改成员角色
virtual NERoomTemplate getRoomTemplate()=0
获取模板
virtual void addRtcStatsListener(INERoomRtcStatsListener *listener)=0
添加Rtc统计数据监听
virtual INERoomLiveController * getLiveController()=0
获取直播控制器
virtual INEWaitingRoomController * getWaitingRoomController()=0
获取等候室控制器
virtual void leaveRoom(const NERoomContextCallback &callback)=0
离开房间
virtual std::string getRoomUuid()=0
获取房间ID
virtual void enableRoomBlacklist(bool enable, const NEEmptyCallback &callback)=0
开启/关闭房间黑名单
virtual std::uint64_t getRemainingSeconds()=0
获取房间剩余时间
virtual std::int64_t getMaxMembers()=0
房间最大成员数,空代表无限制
virtual void endRoom(const NERoomContextCallback &callback)=0
结束房间
virtual SharedMemberPtr getLocalMember()=0
获取本端用户信息
virtual void handOverMyRole(const std::string &userUuid, bool resign, const NERoomContextCallback &callback)=0
将自身当前的角色转移给[userUuid]对应的用户,自身会恢复到默认的房间角色,只有授权角色才能执行该操作
virtual INERoomChatController * getChatController()=0
获取聊天控制器
virtual bool isRoomBlacklistEnabled() const =0
房间是否开启了黑名单
#define ROOMKIT_DEPRECATED(message)
struct tagNERoomTemplate { std::list< NERoomRole > roles; NETemplatePermissions permissions; } NERoomTemplate
房间模板配置
struct tagNERoomRecordConfig { int rtcRecordType=0; std::vector< NERoomRecordMode > modeList;} NERoomRecordConfig
开启录制请求配置
std::shared_ptr< INERoomMember > SharedMemberPtr
房间用户信息智能指针
std::function< void(int, const std::string &, const TResultParam &...)> NECallback
通用回调
NECallback<> NEEmptyCallback
房间事件监听头文件
等候室事件监听头文件