SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
local_data_stream.hpp
1#ifndef SKYWAY_MEDIA_STREAM_INTERFACE_LOCAL_LOCAL_DATA_STREAM_HPP_
2#define SKYWAY_MEDIA_STREAM_INTERFACE_LOCAL_LOCAL_DATA_STREAM_HPP_
3
4#include <cstddef>
5#include <cstdint>
6#include <optional>
7#include <string>
8
9#include "skyway/media/stream/interface/local/local_stream.hpp"
10
11namespace skyway {
12namespace media {
13namespace stream {
14namespace interface {
15namespace local {
16
18public:
20 struct Subscriber {
22 std::string id;
24 std::optional<std::string> name;
25 };
26
28 class Listener {
29 public:
30 virtual ~Listener() = default;
31
34 virtual void OnWritable(const Subscriber& subscriber) = 0;
35
38 virtual void OnUnwritable(const Subscriber& subscriber) = 0;
39 };
40
41 virtual ~LocalDataStream() = default;
42
44 virtual bool Write(const std::string& data) const = 0;
45
47 virtual bool Write(const uint8_t* data, size_t length) const = 0;
48
52 virtual void AddListener(Listener* listener) = 0;
53
55 virtual void RemoveListener() = 0;
56};
57
58} // namespace local
59} // namespace interface
60} // namespace stream
61} // namespace media
62} // namespace skyway
63
64#endif // SKYWAY_MEDIA_STREAM_INTERFACE_LOCAL_LOCAL_DATA_STREAM_HPP_
データ送信可否イベントリスナ
Definition local_data_stream.hpp:28
virtual void OnUnwritable(const Subscriber &subscriber)=0
Subscriberへデータを送信できなくなった際に呼び出されます。
virtual void OnWritable(const Subscriber &subscriber)=0
Subscriberへデータを送信できるようになった際に呼び出されます。
virtual bool Write(const uint8_t *data, size_t length) const =0
バイト列を送信します。
virtual bool Write(const std::string &data) const =0
文字列を送信します。
virtual void AddListener(Listener *listener)=0
LocalDataStream::Listenerを登録します。
virtual void RemoveListener()=0
イベントリスナーの登録を解除します。
データの送信先となるSubscriberの情報
Definition local_data_stream.hpp:20
std::string id
SubscriberのMemberId
Definition local_data_stream.hpp:22
std::optional< std::string > name
SubscriberのMember名
Definition local_data_stream.hpp:24