![]() |
SkyWay Linux SDK
|
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::shared_ptr< LocalP2PRoomMember > | Join (interface::RoomMemberInitOptions options) |
P2PRoomへ参加します。 | |
![]() | |
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ではイベントが発火しなくなります。 | |
![]() | |
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< 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の検索をし、存在しなければ作成します。 | |
その他の継承メンバ | |
![]() | |
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 |
![]() | |
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を実装しています。