SkyWay for Linux
|
P2PRoomの操作を行うクラス [詳解]
#include <p2p_room.hpp>
公開メンバ関数 | |
P2PRoom (std::shared_ptr< core::interface::Channel > channel, std::unique_ptr< interface::RoomDomainFactory > factory) | |
interface::RoomType | Type () override |
RoomのTypeを取得します。 | |
std::unique_ptr< LocalP2PRoomMember > | Join (interface::RoomMemberInitOptions options) |
P2PRoomへ参加します。 | |
基底クラス skyway::room::abstract::Room に属する継承公開メンバ関数 | |
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ではイベントが発火しなくなります。 | |
静的公開メンバ関数 | |
static std::shared_ptr< P2PRoom > | Create (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< P2PRoom > | Create () |
P2PRoomを作成します。 | |
static std::shared_ptr< P2PRoom > | Find (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< P2PRoom > | FindOrCreate (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 (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になった時に発生するイベント | |
基底クラス skyway::room::abstract::Room に属する継承限定公開変数類 | |
std::shared_ptr< core::interface::Channel > | core_ |
std::unique_ptr< interface::RoomDomainFactory > | factory_ |
std::mutex | listener_mtx_ |
interface::Room::EventListener * | listener_ |
P2PRoomの操作を行うクラス
|
overridevirtual |
RoomのTypeを取得します。
skyway::room::interface::Roomを実装しています。