NERoom SDK V1.36.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 getSipCid() = 0;
79
84 virtual std::uint64_t getRtcStartTime() = 0;
85
90 virtual std::uint64_t getRemainingSeconds() = 0;
91
92
97 virtual std::int64_t getMaxMembers() = 0;
98
104
109 virtual std::map<std::string, std::string> getRoomProperties() const = 0;
110
116
121 virtual std::list<SharedMemberPtr> getRemoteMembers() = 0;
122
128 virtual std::list<SharedMemberPtr> getInSIPInvitingMembers() = 0;
129
135 virtual std::list<SharedMemberPtr> getInAppInvitingMembers() = 0;
136
142
149
156
163
170
176
182
188
194
201 virtual void changeMyName(const std::string& name, const NERoomContextCallback& callback) = 0;
202
210 virtual void changeMemberName(const std::string& userUuid, const std::string& name, const NERoomContextCallback& callback) = 0;
211
219 virtual void changeMemberRole(const std::string& userUuid, const std::string& role, const NERoomContextCallback& callback) = 0;
220
227 virtual void changeMembersRole(const std::map<std::string, std::string>& userRoleMap, const NERoomContextCallback& callback) = 0;
228
235 virtual void handOverMyRole(const std::string& userUuid, const NERoomContextCallback& callback) = 0;
236
244 virtual void handOverMyRole(const std::string& userUuid, bool resign, const NERoomContextCallback& callback) = 0;
245
252 virtual void kickMemberOut(const std::string& userUuid, const NERoomContextCallback& callback) = 0;
253
261 virtual void kickMemberOut(const std::string& userUuid, bool toBlacklist, const NERoomContextCallback& callback) = 0;
262
268 virtual void addRoomListener(INERoomListener* listener) = 0;
269
275 virtual void removeRoomListener(INERoomListener* listener) = 0;
276
282 virtual void addRtcStatsListener(INERoomRtcStatsListener* listener) = 0;
283
290
296 virtual void rejoinAfterAdmittedToRoom(const NECallback<>& callback) = 0;
297
303 virtual void leaveRoom(const NERoomContextCallback& callback) = 0;
304
310 ROOMKIT_DEPRECATED("Use endRoom with force parameter instead")
311 virtual void endRoom(const NERoomContextCallback& callback) = 0;
312
318 virtual void endRoom(bool force, const NERoomContextCallback& callback) = 0;
319
325 virtual void lockRoom(const NERoomContextCallback& callback) = 0;
326
332 virtual void unlockRoom(const NERoomContextCallback& callback) = 0;
333
338 virtual bool isRoomLocked() = 0;
339
348 virtual void updateRoomProperty(const std::string& key,
349 const std::string& value,
350 const std::string& associatedUserUuid = "",
351 const NERoomContextCallback& callback = NERoomContextCallback()) = 0;
352
359 virtual void deleteRoomProperty(const std::string& key, const NERoomContextCallback& callback) = 0;
360
369 virtual void updateMemberProperty(const std::string& userUuid,
370 const std::string& key,
371 const std::string& value,
372 const NERoomContextCallback& callback) = 0;
373
381 virtual void deleteMemberProperty(const std::string& userUuid, const std::string& key, const NERoomContextCallback& callback) = 0;
382
389 virtual void startCloudRecord(const NEEmptyCallback& callback) const = 0;
390
398 virtual void startCloudRecord(const NERoomRecordConfig& recordConfig, const NEEmptyCallback& callback) const = 0;
399
406 virtual void stopCloudRecord(const NEEmptyCallback& callback) const = 0;
407
413 virtual bool isCloudRecording() const = 0;
414
420 virtual bool isInWaitingRoom() const = 0;
421
427 virtual bool isRoomBlacklistEnabled() const = 0;
428
435 virtual void enableRoomBlacklist(bool enable, const NEEmptyCallback& callback) = 0;
436};
437
438} // namespace neroom
439
440#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 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
房间事件监听头文件
等候室事件监听头文件