SkyWay for Linux
|
RemotePersonの機能を持つメンバー [詳解]
#include <remote_person.hpp>
クラス | |
class | EventListener |
公開メンバ関数 | |
RemotePerson (core::interface::Channel *channel, const model::Member &dto, rtc::scoped_refptr< webrtc::PeerConnectionFactoryInterface > peer_connection_factory) | |
SubscriptionInterface * | Subscribe (const std::string &publication_id) |
Subscribeをさせます。 | |
bool | Unsubscribe (const std::string &subscription_id) |
Subscribeを中止させます。 | |
基底クラス 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を取得します。 | |
その他の継承メンバ | |
基底クラス skyway::core::interface::RemoteMember に属する継承限定公開メンバ関数 | |
RemoteMember (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 に属する継承限定公開変数類 | |
Channel * | channel_ |
model::Member | initial_dto_ |
model::Side | side_ |
MemberState | state_ |
std::mutex | listeners_mtx_ |
std::unordered_set< EventListener * > | listeners_ |
std::atomic< bool > | metadata_updated_ |
RemotePersonの機能を持つメンバー
他のSDKで生成されたRemoteMemberで、WebRTCコネクションにてStreamの受け渡しを行います。
SubscriptionInterface * skyway::plugin::remote_person::RemotePerson::Subscribe | ( | const std::string & | publication_id | ) |
Subscribeをさせます。
得られるSubscriptionにはStreamは含まれません。
また、このSDKで生成したLocalPersonをChannel::Findなどを利用してRemotePersonとして振る舞わせた場合はSubscribeは失敗し、その挙動は未定義です。
単純にLocalPerson.Subscribeを利用してください。
publication_id | SubscribeするPublicationのID |
bool skyway::plugin::remote_person::RemotePerson::Unsubscribe | ( | const std::string & | subscription_id | ) |
Subscribeを中止させます。
このSDKで生成したLocalPersonをChannel::Findなどを利用してRemotePersonとして振る舞わせた場合はSubscribeは失敗し、その挙動は未定義です。
subscription_id | 中止対象のSubscriptionID |