SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
remote_member.hpp
1//
2// remote_member.hpp
3// skyway
4//
5// Created by sandabu on 2021/12/21.
6// Copyright © 2021 NTT Communications. All rights reserved.
7//
8
9#ifndef SKYWAY_CORE_INTERFACE_REMOTE_MEMBER_HPP_
10#define SKYWAY_CORE_INTERFACE_REMOTE_MEMBER_HPP_
11
12#include <unordered_map>
13
14#include "skyway/core/interface/member.hpp"
15#include "skyway/core/interface/publication.hpp"
16#include "skyway/core/interface/stream.hpp"
17#include "skyway/core/interface/subscription.hpp"
18#include "skyway/model/domain.hpp"
19
20namespace skyway {
21namespace core {
22namespace interface {
23
24class Channel;
25
26using LocalPersonId = std::string;
27using SubscriptionId = std::string;
28
32class RemoteMember : public Member {
33public:
34 virtual ~RemoteMember() = default;
35
39 virtual void Dispose() {};
40
45 virtual void OnSubscribedLocalPersonsPublication(std::shared_ptr<core::interface::Publication> publication,
46 const SubscriptionId& subscription_id) {};
47
51 virtual void OnUnsubscribedLocalPersonsPublication(std::shared_ptr<core::interface::Publication> publication) {};
52
56 virtual void OnLocalPersonSubscribed(std::shared_ptr<interface::Subscription> subscription) {};
57
61 virtual void OnLocalPersonUnsubscribed(std::shared_ptr<interface::Subscription> subscription) {};
63
66 virtual void OnPublicationSubscribed(std::shared_ptr<interface::Subscription> subscription) {}
67
70 virtual void OnPublicationUnsubscribed(std::shared_ptr<interface::Subscription> subscription) {}
71
72protected:
73 RemoteMember(std::shared_ptr<interface::Channel> channel, const model::Member& dto);
74};
75
76} // namespace interface
77} // namespace core
78} // namespace skyway
79
80#endif /* SKYWAY_CORE_INTERFACE_REMOTE_MEMBER_HPP_ */
LocalPersonおよびRemoteMemberの基底クラス
Definition member.hpp:31
このSDK以外で生成されたメンバ
Definition remote_member.hpp:32
virtual void OnPublicationSubscribed(std::shared_ptr< interface::Subscription > subscription)
PublicationがSubscribeされた時に発生するイベント
Definition remote_member.hpp:66
virtual void OnPublicationUnsubscribed(std::shared_ptr< interface::Subscription > subscription)
PublicationがUnsubscribeされた時に発生するイベント
Definition remote_member.hpp:70
メンバー情報
Definition domain.hpp:54