9#ifndef SKYWAY_ROOM_INTERFACE_ROOM_MEMBER_HPP
10#define SKYWAY_ROOM_INTERFACE_ROOM_MEMBER_HPP
12#include <skyway/core/interface/member.hpp>
20class RoomSubscription;
44 virtual boost::optional<std::string>
RoomId() = 0;
46 virtual boost::optional<std::string>
RoomName() = 0;
48 virtual std::string
Id() = 0;
50 virtual boost::optional<std::string>
Name() = 0;
52 virtual boost::optional<std::string>
Metadata() = 0;
54 virtual model::MemberType
Type() = 0;
58 virtual model::Side
Side() = 0;
60 virtual core::interface::MemberState
State() = 0;
63 virtual std::vector<std::unique_ptr<RoomPublication>>
Publications() = 0;
65 virtual std::vector<std::unique_ptr<RoomSubscription>>
Subscriptions() = 0;
イベントリスナ
Definition room_member.hpp:26
virtual void OnSubscriptionListChanged()
このRoomMemberのSubscriptionの数が変化された後に発生するイベント
Definition room_member.hpp:40
virtual void OnLeft()
Memberが退出した後に発生するイベント
Definition room_member.hpp:30
virtual void OnPublicationListChanged()
このRoomMemberのPublicationの数が変化された後に発生するイベント
Definition room_member.hpp:37
virtual void OnMetadataUpdated(const std::string &metadata)
このRoomMemberのMetadataが更新された後に発生するイベント
Definition room_member.hpp:34
RoomMemberの操作を行うインターフェース
Definition room_member.hpp:23
virtual model::Side Side()=0
Sideを取得します。
virtual std::string Subtype()=0
SubTypeを取得します。
virtual bool UpdateMetadata(const std::string &metadata)=0
Metadataを更新します。
virtual boost::optional< std::string > RoomId()=0
このMemberに紐づくRoomのIdを取得します。
virtual boost::optional< std::string > Metadata()=0
Metadataを取得します。
virtual std::vector< std::unique_ptr< RoomPublication > > Publications()=0
このMemberのPublication一覧を取得します。
virtual core::interface::MemberState State()=0
Stateを取得します。
virtual boost::optional< std::string > RoomName()=0
このMemberに紐づくRoomのNameを取得します。
virtual bool Leave()=0
Roomから退室します。
virtual model::MemberType Type()=0
Typeを取得します。
virtual std::vector< std::unique_ptr< RoomSubscription > > Subscriptions()=0
このMemberのSubscription一覧を取得します。
virtual std::string Id()=0
Idを取得します。
virtual boost::optional< std::string > Name()=0
Nameを取得します。