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

Channelの実装クラス [詳解]

#include <channel.hpp>

skyway::core::channel::Channel の継承関係図
skyway::core::interface::Channel

公開メンバ関数

void AddEventListener (interface::Channel::EventListener *listener) override
 イベントを購読します。
 
void RemoveEventListener (interface::Channel::EventListener *listener) override
 イベントの購読を中止します。
 
std::string Id () const override
 Idを取得します。
 
boost::optional< std::string > Name () const override
 Nameを取得します。
 
boost::optional< std::string > Metadata () const override
 Metadataを取得します。
 
interface::LocalPersonLocalPerson () override
 ChannelにJoinしているLocalPersonを取得します。
 
std::vector< RemoteMember * > Bots (bool active_only=true) override
 ChannelにJoinしているBotを取得します。
 
std::vector< MemberInterface * > Members (bool active_only=true) override
 ChannelにJoinしているすべてのMemberを取得します。
 
std::vector< PublicationInterface * > Publications (bool active_only=true) override
 Publicationの一覧を取得します。
 
std::vector< SubscriptionInterface * > Subscriptions (bool active_only=true) override
 Subscriptionの一覧を取得します。
 
ChannelState State () const override
 Channelの状態を取得します。
 
interface::LocalPersonJoin (const model::Member::Init &init) override
 ChannelにLocalPersonを追加します。
 
bool UpdateMetadata (const std::string &metadata) override
 Metadataを更新します。
 
bool Leave (MemberInterface *member) override
 ChannelからMemberを退出させます。
 
bool Close () override
 Channelを閉じます。
 
void Dispose (bool remove_myself_if_needed=true) override
 Channelを閉じずにChannelインスタンスを無効にし、リソースを解放します。
 

静的公開メンバ関数

static std::shared_ptr< ChannelCreate (const ChannelInit &init)
 Channelを作成します。
 
static std::shared_ptr< ChannelCreate ()
 Channelを作成します。
 
static std::shared_ptr< ChannelFind (const ChannelQuery &query)
 既に存在するChannelを検索します。
 
static std::shared_ptr< ChannelFindOrCreate (const ChannelInit &init)
 既に存在するChannelを検索し、存在しない場合はChannelを作成します。
 

詳解

Channelの実装クラス

関数詳解

◆ AddEventListener()

void skyway::core::channel::Channel::AddEventListener ( interface::Channel::EventListener listener)
overridevirtual

イベントを購読します。

引数
listenerイベントリスナ

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

◆ Bots()

std::vector< RemoteMember * > skyway::core::channel::Channel::Bots ( bool  active_only = true)
overridevirtual

ChannelにJoinしているBotを取得します。

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

◆ Close()

bool skyway::core::channel::Channel::Close ( )
overridevirtual

Channelを閉じます。

サーバからの応答を同期的に待ち、ブロックします。

Disposeとは異なり、Channelを閉じるとJoinしているMemberは全て退出し、Channelは破棄されます。

Closeのコール後にChannelのリソースは破棄するのでDisposeをコールする必要はありません。

Close後のChannelインスタンスは利用できません。

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

◆ Create()

static std::shared_ptr< Channel > skyway::core::channel::Channel::Create ( const ChannelInit init)
static

Channelを作成します。

作成するChannelが既に存在する場合はnullptrを返します。

引数
init作成するChannelの情報

◆ Dispose()

void skyway::core::channel::Channel::Dispose ( bool  remove_myself_if_needed = true)
overridevirtual

Channelを閉じずにChannelインスタンスを無効にし、リソースを解放します。

Closeとは異なり、Channelは破棄しないため入室しているMemberには影響しません。

Dispose後のChannelインスタンスは利用できません。

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

◆ Find()

static std::shared_ptr< Channel > skyway::core::channel::Channel::Find ( const ChannelQuery query)
static

既に存在するChannelを検索します。

Channelが存在しない場合はnullptrを返します。

引数
query検索するChannelの情報

◆ FindOrCreate()

static std::shared_ptr< Channel > skyway::core::channel::Channel::FindOrCreate ( const ChannelInit init)
static

既に存在するChannelを検索し、存在しない場合はChannelを作成します。

引数
init検索、作成するChannelの情報

◆ Id()

std::string skyway::core::channel::Channel::Id ( ) const
overridevirtual

Idを取得します。

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

◆ Join()

interface::LocalPerson * skyway::core::channel::Channel::Join ( const model::Member::Init init)
overridevirtual

ChannelにLocalPersonを追加します。

サーバからの応答を同期的に待ち、ブロックします。

引数
init初期化オプション

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

◆ Leave()

bool skyway::core::channel::Channel::Leave ( MemberInterface member)
overridevirtual

ChannelからMemberを退出させます。

サーバからの応答を同期的に待ち、ブロックします。

認可されていればLocalPersonだけでなく、RemoteMemberも退出させることができます。

引数
member退出させるMember

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

◆ LocalPerson()

interface::LocalPerson * skyway::core::channel::Channel::LocalPerson ( )
overridevirtual

ChannelにJoinしているLocalPersonを取得します。

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

◆ Members()

std::vector< MemberInterface * > skyway::core::channel::Channel::Members ( bool  active_only = true)
overridevirtual

ChannelにJoinしているすべてのMemberを取得します。

このMemberはLocalPersonも含まれます。

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

◆ Metadata()

boost::optional< std::string > skyway::core::channel::Channel::Metadata ( ) const
overridevirtual

Metadataを取得します。

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

◆ Name()

boost::optional< std::string > skyway::core::channel::Channel::Name ( ) const
overridevirtual

Nameを取得します。

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

◆ Publications()

std::vector< PublicationInterface * > skyway::core::channel::Channel::Publications ( bool  active_only = true)
overridevirtual

Publicationの一覧を取得します。

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

◆ RemoveEventListener()

void skyway::core::channel::Channel::RemoveEventListener ( interface::Channel::EventListener listener)
overridevirtual

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

引数
listener対象のイベントリスナ

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

◆ State()

ChannelState skyway::core::channel::Channel::State ( ) const
overridevirtual

Channelの状態を取得します。

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

◆ Subscriptions()

std::vector< SubscriptionInterface * > skyway::core::channel::Channel::Subscriptions ( bool  active_only = true)
overridevirtual

Subscriptionの一覧を取得します。

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

◆ UpdateMetadata()

bool skyway::core::channel::Channel::UpdateMetadata ( const std::string &  metadata)
overridevirtual

Metadataを更新します。

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


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