SkyWay for Linux
読み取り中…
検索中…
一致する文字列を見つけられません
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(Publication* publication,
46 const SubscriptionId& subscription_id) {};
47
51 virtual void OnUnsubscribedLocalPersonsPublication(Publication* publication) {};
52
56 virtual void OnLocalPersonSubscribed(Subscription* subscription) {};
57
61 virtual void OnLocalPersonUnsubscribed(Subscription* subscription) {};
63
64protected:
65 RemoteMember(Channel* channel, const model::Member& dto);
66};
67
68} // namespace interface
69} // namespace core
70} // namespace skyway
71
72#endif /* SKYWAY_CORE_INTERFACE_REMOTE_MEMBER_HPP_ */
Channelのインターフェース
Definition channel.hpp:28
LocalPersonおよびRemoteMemberの基底クラス
Definition member.hpp:32
Publicationのインターフェース
Definition publication.hpp:29
このSDK以外で生成されたメンバ
Definition remote_member.hpp:32
Subscriptionのインターフェース
Definition subscription.hpp:27
メンバー情報
Definition domain.hpp:54