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

P2PRoomの操作を行うクラス [詳解]

#include <p2p_room.hpp>

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

公開メンバ関数

 P2PRoom (std::shared_ptr< core::interface::Channel > channel, std::unique_ptr< interface::RoomDomainFactory > factory)
 
interface::RoomType Type () override
 RoomのTypeを取得します。
 
std::shared_ptr< LocalP2PRoomMemberJoin (interface::RoomMemberInitOptions options)
 P2PRoomへ参加します。
 
- 基底クラス skyway::room::abstract::Room に属する継承公開メンバ関数
std::string Id () override
 Idを取得します。
 
std::optional< std::string > Name () override
 Nameを取得します。
 
std::optional< std::string > Metadata () override
 Metadataを取得します。
 
core::interface::ChannelState State () override
 Stateを取得します。
 
std::vector< std::shared_ptr< interface::RoomPublication > > Publications () override
 Roomインスタンスに紐づくPublicationの一覧を取得します。
 
std::vector< std::shared_ptr< interface::RoomSubscription > > Subscriptions () override
 Roomインスタンスに紐づくSubscriptionの一覧を取得します。
 
std::vector< std::shared_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::core::interface::Channel::EventListener に属する継承公開メンバ関数
virtual void OnMemberJoined (std::shared_ptr< interface::Member > member)
 ChannelにMemberが参加した時に発生するイベント
 
virtual void OnMemberLeft (std::shared_ptr< interface::Member > member)
 ChannelからMemberが退出した時に発生するイベント
 
virtual void OnMemberMetadataUpdated (std::shared_ptr< interface::Member > member, const std::string &metadata)
 MemberのMetadataが更新された時に発生するイベント
 
virtual void OnPublicationMetadataUpdated (std::shared_ptr< interface::Publication > publication, const std::string &metadata)
 PublicationのMetadataが更新された時に発生するイベント
 
virtual void OnStreamPublished (std::shared_ptr< interface::Publication > publication)
 StreamがPublishされた時に発生するイベント
 
virtual void OnStreamUnpublished (std::shared_ptr< interface::Publication > publication)
 StreamがUnpublishされた時に発生するイベント
 
virtual void OnPublicationEnabled (std::shared_ptr< interface::Publication > publication)
 PublicationがEnableになった時に発生するイベント
 
virtual void OnPublicationDisabled (std::shared_ptr< interface::Publication > publication)
 PublicationがDisableになった時に発生するイベント
 
virtual void OnPublicationSubscribed (std::shared_ptr< interface::Subscription > subscription)
 PublicationがSubscribeされた時に発生するイベント
 
virtual void OnPublicationUnsubscribed (std::shared_ptr< interface::Subscription > subscription)
 PublicationがUnsubscribeされた時に発生するイベント
 

静的公開メンバ関数

static std::shared_ptr< P2PRoomCreate (interface::RoomInitOptions options, std::unique_ptr< interface::RoomFactory > room_factory=std::make_unique< P2PRoomFactory >(), std::unique_ptr< interface::RoomDomainFactory > domain_factory=std::make_unique< RoomDomainFactory >())
 P2PRoomを作成します。
 
static std::shared_ptr< P2PRoomCreate ()
 P2PRoomを作成します。
 
static std::shared_ptr< P2PRoomFind (interface::RoomQuery query, std::unique_ptr< interface::RoomFactory > room_factory=std::make_unique< P2PRoomFactory >(), std::unique_ptr< interface::RoomDomainFactory > domain_factory=std::make_unique< RoomDomainFactory >())
 P2PRoomの検索をします。
 
static std::shared_ptr< P2PRoomFindOrCreate (interface::RoomInitOptions options, std::unique_ptr< interface::RoomFactory > room_factory=std::make_unique< P2PRoomFactory >(), std::unique_ptr< interface::RoomDomainFactory > domain_factory=std::make_unique< RoomDomainFactory >())
 P2PRoomの検索をし、存在しなければ作成します。
 

その他の継承メンバ

- 基底クラス skyway::room::abstract::Room に属する継承限定公開メンバ関数
 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 (std::shared_ptr< core::interface::Member > member) override
 
void OnMemberLeft (std::shared_ptr< core::interface::Member > member) override
 
void OnMemberMetadataUpdated (std::shared_ptr< core::interface::Member > member, const std::string &metadata) override
 
void OnPublicationMetadataUpdated (std::shared_ptr< core::interface::Publication > publication, const std::string &metadata) override
 
void OnPublicationListChanged () override
 Publicationが作成または削除された時に発生するイベント
 
void OnStreamPublished (std::shared_ptr< core::interface::Publication > publication) override
 
void OnStreamUnpublished (std::shared_ptr< core::interface::Publication > publication) override
 
void OnPublicationEnabled (std::shared_ptr< core::interface::Publication > publication) override
 
void OnPublicationDisabled (std::shared_ptr< core::interface::Publication > publication) override
 
void OnSubscriptionListChanged () override
 StreamがSubscribeまたはUnsubscribeされた時に発生するイベント
 
void OnPublicationSubscribed (std::shared_ptr< core::interface::Subscription > subscription) override
 
void OnPublicationUnsubscribed (std::shared_ptr< core::interface::Subscription > subscription) override
 
- 基底クラス skyway::room::abstract::Room に属する継承限定公開変数類
std::shared_ptr< core::interface::Channelcore_
 
std::unique_ptr< interface::RoomDomainFactory > factory_
 
std::mutex listener_mtx_
 
interface::Room::EventListenerlistener_
 

詳解

P2PRoomの操作を行うクラス

関数詳解

◆ Type()

interface::RoomType skyway::room::p2p::P2PRoom::Type ( )
overridevirtual

RoomのTypeを取得します。

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


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