SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
remote_member.hpp
1//
2// © NTT DOCOMO BUSINESS, Inc. All Rights Reserved.
3//
4
5#ifndef SKYWAY_CORE_INTERFACE_REMOTE_MEMBER_HPP_
6#define SKYWAY_CORE_INTERFACE_REMOTE_MEMBER_HPP_
7
8#include <unordered_map>
9
10#include "skyway/core/interface/member.hpp"
11#include "skyway/core/interface/publication.hpp"
12#include "skyway/core/interface/stream.hpp"
13#include "skyway/core/interface/subscription.hpp"
14#include "skyway/model/domain.hpp"
15
16namespace skyway {
17namespace core {
18namespace interface {
19
20class Channel;
21
22using LocalPersonId = std::string;
23using SubscriptionId = std::string;
24
28class RemoteMember : public Member {
29public:
30 virtual ~RemoteMember() = default;
31
35 virtual void Dispose() {};
36
41 virtual void OnSubscribedLocalPersonsPublication(
42 std::shared_ptr<core::interface::Publication> publication,
43 const SubscriptionId& subscription_id) {};
44
48 virtual void OnUnsubscribedLocalPersonsPublication(
49 std::shared_ptr<core::interface::Publication> publication) {};
50
54 virtual void OnLocalPersonSubscribed(std::shared_ptr<interface::Subscription> subscription) {};
55
59 virtual void OnLocalPersonUnsubscribed(std::shared_ptr<interface::Subscription> subscription) {
60 };
62
65 virtual void OnPublicationSubscribed(std::shared_ptr<interface::Subscription> subscription) {}
66
69 virtual void OnPublicationUnsubscribed(std::shared_ptr<interface::Subscription> subscription) {}
70
71protected:
72 RemoteMember(std::shared_ptr<interface::Channel> channel, const model::Member& dto);
73};
74
75} // namespace interface
76} // namespace core
77} // namespace skyway
78
79#endif /* SKYWAY_CORE_INTERFACE_REMOTE_MEMBER_HPP_ */
LocalPersonおよびRemoteMemberの基底クラス
Definition member.hpp:27
このSDK以外で生成されたメンバ
Definition remote_member.hpp:28
virtual void OnPublicationSubscribed(std::shared_ptr< interface::Subscription > subscription)
PublicationがSubscribeされた時に発生するイベント
Definition remote_member.hpp:65
virtual void OnPublicationUnsubscribed(std::shared_ptr< interface::Subscription > subscription)
PublicationがUnsubscribeされた時に発生するイベント
Definition remote_member.hpp:69
メンバー情報
Definition domain.hpp:53