IMP(低代码音视频工厂)SDK v1.5.0
IMP SDK API Reference Manual for Windows Platforms
i_room.h
1#pragma once
2#include <memory>
3#include <string>
4#include <functional>
5#include "i_plugin.h"
6#include "sdk_api_define.h"
7#include "meta_space_define.h"
8#include "meta/room_event_listener.h"
9#include "get_room_user_list_req.h"
10#include "get_room_user_list_rsp.h"
11#include "get_cloud_config_rsp.h"
12#include "get_cloud_config_req.h"
13#include "room_detail.h"
14#include "dps_error.h"
15#include "update_room_notice_rsp.h"
16#include "update_room_title_rsp.h"
17
18
19META_SPACE_NAMESPACE_BEGIN
20
21enum PluginEnum {
22 PluginChat,
23 PluginLive,
24 PluginPlayer,
25 PluginWhiteBoard,
26 PluginRtc,
27 PluginDoc,
28};
29
30class IRoom
31{
32public:
33 virtual ~IRoom() {};
40 virtual void EnterRoom(const std::string& nick_name, const std::function<void(void)>& on_success, const std::function<void(const ::alibaba::dps::DPSError & error_msg)>& on_failure) = 0;
41
47 virtual void LeaveRoom(const std::function<void(void)>& on_success, const std::function<void(const ::alibaba::dps::DPSError & error_msg)>& on_failure) = 0;
58 virtual void GetRoomDetailByRoomId(const std::string & room_id, const std::function<void(const ::alibaba::room::RoomDetail & rsp)>& on_success, const std::function<void(const ::alibaba::dps::DPSError & error)>& on_failure) = 0;
64 virtual void ListUser(const ::alibaba::room::GetRoomUserListReq & req, const std::function<void(const ::alibaba::room::GetRoomUserListRsp & rsp)>& on_success, const std::function<void(const ::alibaba::dps::DPSError & error_msg)>& on_failure) = 0;
70 virtual void GetCloudConfig(const std::vector<std::string> key_list, const std::function<void(const std::map<std::string, std::string> key_config_map)>& on_success, const std::function<void(const ::alibaba::dps::DPSError & error_msg)>& on_failure) = 0;
77 virtual void UpdateRoomNotice(const std::string& notice,
78 const std::function<void(const ::alibaba::room::UpdateRoomNoticeRsp & rsp)>& on_success,
79 const std::function<void(const ::alibaba::dps::DPSError & error)>& on_failure) = 0;
86 virtual void UpdateRoomTitle(const std::string& title,
87 const std::function<void(const ::alibaba::room::UpdateRoomTitleRsp & rsp)>& on_success,
88 const std::function<void(const ::alibaba::dps::DPSError & error)>& on_failure) = 0;
93 virtual void SetRoomEventListener(const std::shared_ptr<alibaba::meta::RoomEventListener>& listener) = 0;
97 virtual std::shared_ptr<IPlugin> GetPlugin(PluginEnum plugin) = 0;
98};
99
100META_SPACE_NAMESPACE_END
101
Definition: i_room.h:31
virtual alibaba::room::RoomDetail GetRoomDetail()=0
获取房间详细信息
virtual void UpdateRoomNotice(const std::string &notice, const std::function< void(const ::alibaba::room::UpdateRoomNoticeRsp &rsp)> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error)> &on_failure)=0
更新房间公告
virtual void SetRoomEventListener(const std::shared_ptr< alibaba::meta::RoomEventListener > &listener)=0
设置房间事件回调
virtual void GetRoomDetailByRoomId(const std::string &room_id, const std::function< void(const ::alibaba::room::RoomDetail &rsp)> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error)> &on_failure)=0
从服务端获取房间详细信息
virtual void GetCloudConfig(const std::vector< std::string > key_list, const std::function< void(const std::map< std::string, std::string > key_config_map)> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error_msg)> &on_failure)=0
获取云控参数
virtual void UpdateRoomTitle(const std::string &title, const std::function< void(const ::alibaba::room::UpdateRoomTitleRsp &rsp)> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error)> &on_failure)=0
更新房间名称
virtual std::shared_ptr< IPlugin > GetPlugin(PluginEnum plugin)=0
获取房间内的其他服务项,参考PluginEnum
virtual void ListUser(const ::alibaba::room::GetRoomUserListReq &req, const std::function< void(const ::alibaba::room::GetRoomUserListRsp &rsp)> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error_msg)> &on_failure)=0
枚举房间在线用户
virtual void EnterRoom(const std::string &nick_name, const std::function< void(void)> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error_msg)> &on_failure)=0
进入房间
virtual void LeaveRoom(const std::function< void(void)> &on_success, const std::function< void(const ::alibaba::dps::DPSError &error_msg)> &on_failure)=0
离开房间
房间详细信息
Definition: room_detail.h:13