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

LocalPersonのインターフェース [詳解]

#include <local_person.hpp>

skyway::core::interface::LocalPerson の継承関係図
skyway::core::interface::Member skyway::core::channel::member::LocalPerson

クラス

class  EventListener
 イベントリスナ [詳解]
 
struct  PublicationOptions
 PublishでPublicationに対して指定するオプション [詳解]
 
struct  SubscriptionOptions
 SubscribeでSubscriptionに対して指定するオプション [詳解]
 

公開メンバ関数

virtual PublicationPublish (std::shared_ptr< LocalStream > stream, PublicationOptions options)=0
 Streamを公開します。
 
virtual SubscriptionSubscribe (const std::string &publication_id, const SubscriptionOptions &options)=0
 公開されているPublicationを購読します。
 
virtual bool Unpublish (const std::string &publication_id) const =0
 公開しているPublicationを非公開にします。
 
virtual bool Unsubscribe (const std::string &subscription_id) const =0
 購読しているSubscriptionの購読を解除します。
 
- 基底クラス skyway::core::interface::Member に属する継承公開メンバ関数
void AddEventListener (EventListener *listener)
 イベントを購読します。
 
void RemoveEventListener (EventListener *listener)
 イベントの購読を中止します。
 
bool UpdateMetadata (const std::string &metadata)
 Metadataを更新します
 
bool Leave ()
 Channelから退室します。
 
std::string Id () const
 Idを取得します。
 
boost::optional< std::string > Name () const
 Nameを取得します。
 
boost::optional< std::string > Metadata () const
 Metadataを取得します。
 
model::MemberType Type () const
 MemberTypeを取得します。
 
std::string Subtype () const
 Subtypeを取得します。
 
model::Side Side () const
 Side(LocalかRemoteか)を取得します。
 
MemberState State () const
 State(Memberの入室状態)を取得します。
 
std::vector< Publication * > Publications () const
 自身が持つ全てのPublicationを取得します。
 
std::vector< Subscription * > Subscriptions () const
 自身が持つ全てのSubscriptionを取得します。
 

限定公開メンバ関数

 LocalPerson (Channel *channel, const model::Member &dto)
 
- 基底クラス skyway::core::interface::Member に属する継承限定公開メンバ関数
 Member (Channel *channel, const model::Member &initial_dto, const model::Side &side)
 

その他の継承メンバ

- 基底クラス skyway::core::interface::Member に属する継承限定公開変数類
Channelchannel_
 
model::Member initial_dto_
 
model::Side side_
 
MemberState state_
 
std::mutex listeners_mtx_
 
std::unordered_set< EventListener * > listeners_
 
std::atomic< bool > metadata_updated_
 

詳解

LocalPersonのインターフェース

関数詳解

◆ Publish()

virtual Publication * skyway::core::interface::LocalPerson::Publish ( std::shared_ptr< LocalStream stream,
PublicationOptions  options 
)
pure virtual

Streamを公開します。

引数
stream公開するStream
optionsPublicationに指定するオプション

skyway::core::channel::member::LocalPersonで実装されています。

◆ Subscribe()

virtual Subscription * skyway::core::interface::LocalPerson::Subscribe ( const std::string &  publication_id,
const SubscriptionOptions options 
)
pure virtual

公開されているPublicationを購読します。

引数
publication_id公開されているPublicationのId
optionsSubscriptionに指定するオプション

skyway::core::channel::member::LocalPersonで実装されています。

◆ Unpublish()

virtual bool skyway::core::interface::LocalPerson::Unpublish ( const std::string &  publication_id) const
pure virtual

公開しているPublicationを非公開にします。

引数
publication_id公開しているPublicationのId

skyway::core::channel::member::LocalPersonで実装されています。

◆ Unsubscribe()

virtual bool skyway::core::interface::LocalPerson::Unsubscribe ( const std::string &  subscription_id) const
pure virtual

購読しているSubscriptionの購読を解除します。

引数
subscription_id公開しているSubscriptionのId

skyway::core::channel::member::LocalPersonで実装されています。


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