SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
room_member.hpp
1#ifndef SKYWAY_ROOM_ABSTRACT_ROOM_MEMBER_HPP
2#define SKYWAY_ROOM_ABSTRACT_ROOM_MEMBER_HPP
3
4#include <skyway/room/interface/room_member.hpp>
5
6#include "skyway/room/interface/room_domain_factory.hpp"
7
8namespace skyway {
9namespace room {
10namespace abstract {
11
13class RoomMember : public virtual interface::RoomMember {
14public:
15 virtual ~RoomMember();
16
17 std::optional<std::string> RoomId() override;
18 std::optional<std::string> RoomName() override;
19 std::string Id() override;
20 std::optional<std::string> Name() override;
21 std::optional<std::string> Metadata() override;
23 std::string Subtype() override;
24 domain::Side Side() override;
25 MemberState State() override;
26
27 std::vector<std::shared_ptr<interface::RoomSubscription>> Subscriptions() override;
28
29 bool UpdateMetadata(const std::string& metadata) override;
30 bool Leave() override;
31
32protected:
34 RoomMember(std::shared_ptr<core::interface::Member> core,
35 std::shared_ptr<interface::Room> room,
36 interface::RoomDomainFactory* factory);
37 std::shared_ptr<core::interface::Member> core_;
38 std::weak_ptr<interface::Room> room_;
39 interface::RoomDomainFactory* factory_;
41
42private:
43 domain::MemberType ConvertToPlatformMemberType(model::MemberType type);
44 MemberState ConvertToPlatformMemberState(core::interface::MemberState state);
45};
46
47} // namespace abstract
48} // namespace room
49} // namespace skyway
50
51#endif /* SKYWAY_ROOM_ABSTRACT_ROOM_MEMBER_HPP */
RoomMemberの操作を行う抽象クラス
Definition room_member.hpp:13
std::vector< std::shared_ptr< interface::RoomSubscription > > Subscriptions() override
このMemberのSubscription一覧を取得します。
std::string Id() override
Idを取得します。
MemberState State() override
Stateを取得します。
std::optional< std::string > RoomId() override
このMemberに紐づくRoomのIdを取得します。
domain::MemberType Type() override
Typeを取得します。
std::string Subtype() override
SubTypeを取得します。
std::optional< std::string > Name() override
Nameを取得します。
bool Leave() override
Roomから退室します。
domain::Side Side() override
Sideを取得します。
std::optional< std::string > RoomName() override
このMemberに紐づくRoomのNameを取得します。
std::optional< std::string > Metadata() override
Metadataを取得します。
bool UpdateMetadata(const std::string &metadata) override
Metadataを更新します。
RoomMemberの操作を行うインターフェース
Definition room_member.hpp:23
MemberType
Memberの種別
Definition domain.hpp:16
Side
Streamの所在(LocalかRemoteか)
Definition domain.hpp:13
MemberState
Memberの入室状態
Definition types.hpp:24