11#ifndef ROOM_CONTEXT_INTERFACE_H
12#define ROOM_CONTEXT_INTERFACE_H
20class INERoomChatController;
21class INERoomWhiteboardController;
22class INERoomRtcController;
23class INERoomLiveController;
24class INEWaitingRoomController;
25class INERoomSIPController;
26class INERoomAppInviteController;
27class INERoomAnnotationController;
349 const std::
string& value,
350 const std::
string& associatedUserUuid = "",
370 const std::
string& key,
371 const std::
string& value,
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