SkyWay for Linux
読み取り中…
検索中…
一致する文字列を見つけられません
local_room_member.hpp
1//
2// local_room_member.hpp
3// skyway
4//
5// Created by Naoto Takahashi on 2023/12/18.
6// Copyright © 2023 NTT Communications. All rights reserved.
7//
8
9#ifndef SKYWAY_ROOM_ABSTRACT_LOCAL_ROOM_MEMBER_HPP
10#define SKYWAY_ROOM_ABSTRACT_LOCAL_ROOM_MEMBER_HPP
11
12#include <skyway/core/interface/local_person.hpp>
13
14#include "skyway/room/abstract/room_member.hpp"
15#include "skyway/room/interface/local_room_member.hpp"
16#include "skyway/room/interface/room_domain_factory.hpp"
17
18namespace skyway {
19namespace room {
20namespace abstract {
21
26public:
27 virtual ~LocalRoomMember();
28
33
34protected:
36 std::shared_ptr<interface::Room> room,
37 interface::RoomDomainFactory* factory);
38
39private:
40 // core::interface::LocalPerson::EventListener
41 void OnStreamPublished(core::interface::Publication* publication) override;
42 void OnStreamUnpublished(core::interface::Publication* publication) override;
43 void OnPublicationSubscribed(core::interface::Subscription* subscription) override;
44 void OnPublicationUnsubscribed(core::interface::Subscription* subscription) override;
45
46 // core::interface::Member::EventListener
47 void OnLeft() override;
48 void OnMetadataUpdated(const std::string& metadata) override;
49 void OnPublicationListChanged() override;
50 void OnSubscriptionListChanged() override;
51
52 std::mutex listener_mtx_;
54};
55
56} // namespace abstract
57} // namespace room
58} // namespace skyway
59
60#endif /* SKYWAY_ROOM_ABSTRACT_LOCAL_ROOM_MEMBER_HPP */
イベントリスナ
Definition local_person.hpp:26
LocalPersonのインターフェース
Definition local_person.hpp:23
Publicationのインターフェース
Definition publication.hpp:29
Subscriptionのインターフェース
Definition subscription.hpp:27
LocalRoomMemberの操作を行う抽象クラス
Definition local_room_member.hpp:25
void AddEventListener(interface::LocalRoomMember::EventListener *listener) override
イベントの購読します。
void RemoveEventListener(interface::LocalRoomMember::EventListener *listener) override
イベントの購読を中止します。
RoomMemberの操作を行う抽象クラス
Definition room_member.hpp:21
イベントリスナ
Definition local_room_member.hpp:24
LocalRoomMemberの操作を行うインターフェース
Definition local_room_member.hpp:21