SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
room_member.hpp
1//
2// © NTT DOCOMO BUSINESS, Inc. All Rights Reserved.
3//
4
5#ifndef SKYWAY_ROOM_ABSTRACT_ROOM_MEMBER_HPP
6#define SKYWAY_ROOM_ABSTRACT_ROOM_MEMBER_HPP
7
8#include <skyway/room/interface/room_member.hpp>
9
10#include "skyway/room/interface/room_domain_factory.hpp"
11
12namespace skyway {
13namespace room {
14namespace abstract {
15
17class RoomMember : public virtual interface::RoomMember {
18public:
19 virtual ~RoomMember();
20
21 std::optional<std::string> RoomId() override;
22 std::optional<std::string> RoomName() override;
23 std::string Id() override;
24 std::optional<std::string> Name() override;
25 std::optional<std::string> Metadata() override;
26 model::MemberType Type() override;
27 std::string Subtype() override;
28 model::Side Side() override;
29 core::interface::MemberState State() override;
30
31 std::vector<std::shared_ptr<interface::RoomSubscription>> Subscriptions() override;
32
33 bool UpdateMetadata(const std::string& metadata) override;
34 bool Leave() override;
35
36protected:
37 RoomMember(std::shared_ptr<core::interface::Member> core,
38 std::shared_ptr<interface::Room> room,
39 interface::RoomDomainFactory* factory);
40
41 std::shared_ptr<core::interface::Member> core_;
42 std::weak_ptr<interface::Room> room_;
43 interface::RoomDomainFactory* factory_;
44};
45
46} // namespace abstract
47} // namespace room
48} // namespace skyway
49
50#endif /* SKYWAY_ROOM_ABSTRACT_ROOM_MEMBER_HPP */
RoomMemberの操作を行う抽象クラス
Definition room_member.hpp:17
model::MemberType Type() override
Typeを取得します。
std::vector< std::shared_ptr< interface::RoomSubscription > > Subscriptions() override
このMemberのSubscription一覧を取得します。
std::string Id() override
Idを取得します。
std::optional< std::string > RoomId() override
このMemberに紐づくRoomのIdを取得します。
std::string Subtype() override
SubTypeを取得します。
core::interface::MemberState State() override
Stateを取得します。
std::optional< std::string > Name() override
Nameを取得します。
bool Leave() override
Roomから退室します。
std::optional< std::string > RoomName() override
このMemberに紐づくRoomのNameを取得します。
std::optional< std::string > Metadata() override
Metadataを取得します。
bool UpdateMetadata(const std::string &metadata) override
Metadataを更新します。
model::Side Side() override
Sideを取得します。
RoomMemberの操作を行うインターフェース
Definition room_member.hpp:19