SkyWay for Linux
読み取り中…
検索中…
一致する文字列を見つけられません
skyway::room::abstract::Room クラス

Roomの操作を行う抽象クラス [詳解]

#include <room.hpp>

skyway::room::abstract::Room の継承関係図
skyway::room::interface::Room skyway::core::interface::Channel::EventListener skyway::room::p2p::P2PRoom

公開メンバ関数

std::string Id () override
 Idを取得します。
 
boost::optional< std::string > Name () override
 Nameを取得します。
 
boost::optional< std::string > Metadata () override
 Metadataを取得します。
 
core::interface::ChannelState State () override
 Stateを取得します。
 
std::vector< std::unique_ptr< interface::RoomPublication > > Publications () override
 Roomインスタンスに紐づくPublicationの一覧を取得します。
 
std::vector< std::unique_ptr< interface::RoomSubscription > > Subscriptions () override
 Roomインスタンスに紐づくSubscriptionの一覧を取得します。
 
std::vector< std::unique_ptr< interface::RoomMember > > Members () override
 Roomインスタンスに紐づくRoomMemberの一覧を取得します。
 
void AddEventListener (interface::Room::EventListener *listener) override
 イベントを購読します。
 
void RemoveEventListener (interface::Room::EventListener *listener) override
 イベントの購読を中止します。
 
bool UpdateMetadata (const std::string &metadata) override
 Metadataを更新します。
 
bool Leave (interface::RoomMember *member) override
 指定したMemberをRoomから退室させます。
 
bool Close () override
 Roomを閉じます。
 
void Dispose () override
 Roomを破棄します。破棄されたRoomではイベントが発火しなくなります。
 
- 基底クラス skyway::room::interface::Room に属する継承公開メンバ関数
virtual RoomType Type ()=0
 RoomのTypeを取得します。
 

限定公開メンバ関数

 Room (std::shared_ptr< core::interface::Channel > core, std::unique_ptr< interface::RoomDomainFactory > factory)
 
void OnClosed () override
 このChannelが閉じられた時に発生するイベント
 
void OnMetadataUpdated (const std::string &metadata) override
 このChannelのMetadataが更新された時に発生するイベント
 
void OnMemberListChanged () override
 Member が入退出したときに発生するイベント
 
void OnMemberJoined (core::interface::Member *member) override
 ChannelにMemberが参加した時に発生するイベント
 
void OnMemberLeft (core::interface::Member *member) override
 ChannelからMemberが退出した時に発生するイベント
 
void OnMemberMetadataUpdated (core::interface::Member *member, const std::string &metadata) override
 MemberのMetadataが更新された時に発生するイベント
 
void OnPublicationMetadataUpdated (core::interface::Publication *publication, const std::string &metadata) override
 PublicationのMetadataが更新された時に発生するイベント
 
void OnPublicationListChanged () override
 Publicationが作成または削除された時に発生するイベント
 
void OnStreamPublished (core::interface::Publication *publication) override
 StreamがPublishされた時に発生するイベント
 
void OnStreamUnpublished (core::interface::Publication *publication) override
 StreamがUnpublishされた時に発生するイベント
 
void OnPublicationEnabled (core::interface::Publication *publication) override
 PublicationがEnableになった時に発生するイベント
 
void OnPublicationDisabled (core::interface::Publication *publication) override
 PublicationがDisableになった時に発生するイベント
 
void OnSubscriptionListChanged () override
 StreamがSubscribeまたはUnsubscribeされた時に発生するイベント
 
void OnPublicationSubscribed (core::interface::Subscription *subscription) override
 PublicationがSubscribeされた時に発生するイベント
 
void OnPublicationUnsubscribed (core::interface::Subscription *subscription) override
 PublicationがUnsubscribeされた時に発生するイベント
 
void OnSubscriptionEnabled (core::interface::Subscription *subscription) override
 SubscriptionがEnableになった時に発生するイベント
 
void OnSubscriptionDisabled (core::interface::Subscription *subscription) override
 SubscriptionがDisableになった時に発生するイベント
 

限定公開変数類

std::shared_ptr< core::interface::Channelcore_
 
std::unique_ptr< interface::RoomDomainFactory > factory_
 
std::mutex listener_mtx_
 
interface::Room::EventListenerlistener_
 

詳解

Roomの操作を行う抽象クラス

構築子と解体子

◆ ~Room()

virtual skyway::room::abstract::Room::~Room ( )
virtual

skyway::room::interface::Roomを再実装しています。

関数詳解

◆ AddEventListener()

void skyway::room::abstract::Room::AddEventListener ( interface::Room::EventListener listener)
overridevirtual

イベントを購読します。

skyway::room::interface::Roomを実装しています。

◆ Close()

bool skyway::room::abstract::Room::Close ( )
overridevirtual

Roomを閉じます。

skyway::room::interface::Roomを実装しています。

◆ Dispose()

void skyway::room::abstract::Room::Dispose ( )
overridevirtual

Roomを破棄します。破棄されたRoomではイベントが発火しなくなります。

skyway::room::interface::Roomを実装しています。

◆ Id()

std::string skyway::room::abstract::Room::Id ( )
overridevirtual

Idを取得します。

skyway::room::interface::Roomを実装しています。

◆ Leave()

bool skyway::room::abstract::Room::Leave ( interface::RoomMember member)
overridevirtual

指定したMemberをRoomから退室させます。

skyway::room::interface::Roomを実装しています。

◆ Members()

std::vector< std::unique_ptr< interface::RoomMember > > skyway::room::abstract::Room::Members ( )
overridevirtual

Roomインスタンスに紐づくRoomMemberの一覧を取得します。

skyway::room::interface::Roomを実装しています。

◆ Metadata()

boost::optional< std::string > skyway::room::abstract::Room::Metadata ( )
overridevirtual

Metadataを取得します。

skyway::room::interface::Roomを実装しています。

◆ Name()

boost::optional< std::string > skyway::room::abstract::Room::Name ( )
overridevirtual

Nameを取得します。

skyway::room::interface::Roomを実装しています。

◆ OnClosed()

void skyway::room::abstract::Room::OnClosed ( )
overrideprotectedvirtual

このChannelが閉じられた時に発生するイベント

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnMemberJoined()

void skyway::room::abstract::Room::OnMemberJoined ( core::interface::Member member)
overrideprotectedvirtual

ChannelにMemberが参加した時に発生するイベント

引数
member参加したMember

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnMemberLeft()

void skyway::room::abstract::Room::OnMemberLeft ( core::interface::Member member)
overrideprotectedvirtual

ChannelからMemberが退出した時に発生するイベント

引数
member退出したMember

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnMemberListChanged()

void skyway::room::abstract::Room::OnMemberListChanged ( )
overrideprotectedvirtual

Member が入退出したときに発生するイベント

OnMemberJoinedまたはOnMemberLeftがコールされた後にコールされます。

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnMemberMetadataUpdated()

void skyway::room::abstract::Room::OnMemberMetadataUpdated ( core::interface::Member member,
const std::string &  metadata 
)
overrideprotectedvirtual

MemberのMetadataが更新された時に発生するイベント

引数
member対象のMember
metadataMetadata

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnMetadataUpdated()

void skyway::room::abstract::Room::OnMetadataUpdated ( const std::string &  metadata)
overrideprotectedvirtual

このChannelのMetadataが更新された時に発生するイベント

引数
metadataMetadata

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnPublicationDisabled()

void skyway::room::abstract::Room::OnPublicationDisabled ( core::interface::Publication publication)
overrideprotectedvirtual

PublicationがDisableになった時に発生するイベント

引数
publication対象のPublication

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnPublicationEnabled()

void skyway::room::abstract::Room::OnPublicationEnabled ( core::interface::Publication publication)
overrideprotectedvirtual

PublicationがEnableになった時に発生するイベント

引数
publication対象のPublication

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnPublicationListChanged()

void skyway::room::abstract::Room::OnPublicationListChanged ( )
overrideprotectedvirtual

Publicationが作成または削除された時に発生するイベント

OnStreamPublishedまたはOnStreamUnpublishedがコールされた後にコールされます。

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnPublicationMetadataUpdated()

void skyway::room::abstract::Room::OnPublicationMetadataUpdated ( core::interface::Publication publication,
const std::string &  metadata 
)
overrideprotectedvirtual

PublicationのMetadataが更新された時に発生するイベント

引数
publication対象のPublication
metadataMetadata

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnPublicationSubscribed()

void skyway::room::abstract::Room::OnPublicationSubscribed ( core::interface::Subscription subscription)
overrideprotectedvirtual

PublicationがSubscribeされた時に発生するイベント

引数
subscription対象のSubscription。まだstreamがsetされていない可能性があります。

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnPublicationUnsubscribed()

void skyway::room::abstract::Room::OnPublicationUnsubscribed ( core::interface::Subscription subscription)
overrideprotectedvirtual

PublicationがUnsubscribeされた時に発生するイベント

引数
subscription対象のSubscription

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnStreamPublished()

void skyway::room::abstract::Room::OnStreamPublished ( core::interface::Publication publication)
overrideprotectedvirtual

StreamがPublishされた時に発生するイベント

引数
publication対象のPublication

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnStreamUnpublished()

void skyway::room::abstract::Room::OnStreamUnpublished ( core::interface::Publication publication)
overrideprotectedvirtual

StreamがUnpublishされた時に発生するイベント

引数
publication対象のPublication

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnSubscriptionDisabled()

void skyway::room::abstract::Room::OnSubscriptionDisabled ( core::interface::Subscription subscription)
overrideprotectedvirtual

SubscriptionがDisableになった時に発生するイベント

引数
subscription対象のSubscription

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnSubscriptionEnabled()

void skyway::room::abstract::Room::OnSubscriptionEnabled ( core::interface::Subscription subscription)
overrideprotectedvirtual

SubscriptionがEnableになった時に発生するイベント

引数
subscription対象のSubscription

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ OnSubscriptionListChanged()

void skyway::room::abstract::Room::OnSubscriptionListChanged ( )
overrideprotectedvirtual

StreamがSubscribeまたはUnsubscribeされた時に発生するイベント

skyway::core::interface::Channel::EventListenerを再実装しています。

◆ Publications()

std::vector< std::unique_ptr< interface::RoomPublication > > skyway::room::abstract::Room::Publications ( )
overridevirtual

Roomインスタンスに紐づくPublicationの一覧を取得します。

skyway::room::interface::Roomを実装しています。

◆ RemoveEventListener()

void skyway::room::abstract::Room::RemoveEventListener ( interface::Room::EventListener listener)
overridevirtual

イベントの購読を中止します。

skyway::room::interface::Roomを実装しています。

◆ State()

core::interface::ChannelState skyway::room::abstract::Room::State ( )
overridevirtual

Stateを取得します。

skyway::room::interface::Roomを実装しています。

◆ Subscriptions()

std::vector< std::unique_ptr< interface::RoomSubscription > > skyway::room::abstract::Room::Subscriptions ( )
overridevirtual

Roomインスタンスに紐づくSubscriptionの一覧を取得します。

skyway::room::interface::Roomを実装しています。

◆ UpdateMetadata()

bool skyway::room::abstract::Room::UpdateMetadata ( const std::string &  metadata)
overridevirtual

Metadataを更新します。

skyway::room::interface::Roomを実装しています。


このクラス詳解は次のファイルから抽出されました: