PrivMX Endpoint v2.7.0
Loading...
Searching...
No Matches
Events.hpp
1/*
2PrivMX Endpoint.
3Copyright © 2024 Simplito sp. z o.o.
4
5This file is part of the PrivMX Platform (https://privmx.dev).
6This software is Licensed under the PrivMX Free License.
7
8See the License for the specific language governing permissions and
9limitations under the License.
10*/
11
12#ifndef _PRIVMXLIB_ENDPOINT_STREAM_EVENTS_HPP_
13#define _PRIVMXLIB_ENDPOINT_STREAM_EVENTS_HPP_
14
15#include <privmx/endpoint/core/Events.hpp>
16#include <privmx/endpoint/core/Types.hpp>
17#include "privmx/endpoint/stream/Types.hpp"
18
19namespace privmx {
20namespace endpoint {
21namespace stream {
22
23
30
35 std::string streamRoomId;
36
40 std::vector<int64_t> streamIds;
41
45 std::string userId;
46};
47
52 std::string streamRoomId;
53
57 int64_t streamId;
58
62 std::string userId;
63};
64
69 std::string streamRoomId;
70
74 int64_t streamId;
75};
76using StreamPublishedEventData = PublishedStreamData;
77
82
86 StreamRoomCreatedEvent() : core::Event("streamRoomCreated") {}
87
93 std::string toJSON() const override;
94
98 std::shared_ptr<core::SerializedEvent> serialize() const override;
99
104};
105
110
114 StreamRoomUpdatedEvent() : core::Event("streamRoomUpdated") {}
115
121 std::string toJSON() const override;
122
126 std::shared_ptr<core::SerializedEvent> serialize() const override;
127
132};
133
138
142 StreamRoomDeletedEvent() : core::Event("streamRoomDeleted") {}
143
149 std::string toJSON() const override;
150
154 std::shared_ptr<core::SerializedEvent> serialize() const override;
155
160};
161
166
170 StreamPublishedEvent() : core::Event("streamPublished") {}
171
177 std::string toJSON() const override;
178
182 std::shared_ptr<core::SerializedEvent> serialize() const override;
183
187 StreamPublishedEventData data;
188};
189
190
195
199 StreamUpdatedEvent() : core::Event("streamUpdated") {}
200
206 std::string toJSON() const override;
207
211 std::shared_ptr<core::SerializedEvent> serialize() const override;
212
217};
218
219
224
228 StreamJoinedEvent() : core::Event("streamJoined") {}
229
235 std::string toJSON() const override;
236
240 std::shared_ptr<core::SerializedEvent> serialize() const override;
241
246};
247
252
256 StreamUnpublishedEvent() : core::Event("streamUnpublished") {}
257
263 std::string toJSON() const override;
264
268 std::shared_ptr<core::SerializedEvent> serialize() const override;
269
274};
275
280
284 StreamLeftEvent() : core::Event("streamLeft") {}
285
291 std::string toJSON() const override;
292
296 std::shared_ptr<core::SerializedEvent> serialize() const override;
297
302};
303
304
309
313 StreamNewStreamsEvent() : core::Event("StreamNewStreams") {}
314
320 std::string toJSON() const override;
321
325 std::shared_ptr<core::SerializedEvent> serialize() const override;
326
331};
332
333
338
342 StreamsUpdatedEvent() : core::Event("streamsUpdated") {}
343
349 std::string toJSON() const override;
350
354 std::shared_ptr<core::SerializedEvent> serialize() const override;
355
360};
361
362
366class Events {
367public:
368
375 static bool isStreamRoomCreatedEvent(const core::EventHolder& eventHolder);
376
384
391 static bool isStreamRoomUpdatedEvent(const core::EventHolder& eventHolder);
392
400
407 static bool isStreamRoomDeletedEvent(const core::EventHolder& eventHolder);
408
416
423 static bool isStreamPublishedEvent(const core::EventHolder& eventHolder);
424
432
439 static bool isStreamUpdatedEvent(const core::EventHolder& eventHolder);
440
448
455 static bool isStreamJoinedEvent(const core::EventHolder& eventHolder);
456
464
471 static bool isStreamUnpublishedEvent(const core::EventHolder& eventHolder);
472
480
487 static bool isStreamLeftEvent(const core::EventHolder& eventHolder);
488
496
503 static bool isStreamNewStreamsEvent(const core::EventHolder& eventHolder);
504
512
513
520 static bool isStreamsUpdatedEvent(const core::EventHolder& eventHolder);
521
529};
530
531} // namespace stream
532} // namespace endpoint
533} // namespace privmx
534
535#endif // _PRIVMXLIB_ENDPOINT_STREAM_EVENTS_HPP_
Definition Events.hpp:80
Definition Events.hpp:366
static bool isStreamPublishedEvent(const core::EventHolder &eventHolder)
static bool isStreamRoomUpdatedEvent(const core::EventHolder &eventHolder)
static StreamRoomDeletedEvent extractStreamRoomDeletedEvent(const core::EventHolder &eventHolder)
static StreamUnpublishedEvent extractStreamUnpublishedEvent(const core::EventHolder &eventHolder)
static bool isStreamRoomDeletedEvent(const core::EventHolder &eventHolder)
static bool isStreamJoinedEvent(const core::EventHolder &eventHolder)
static StreamJoinedEvent extractStreamJoinedEvent(const core::EventHolder &eventHolder)
static StreamPublishedEvent extractStreamPublishedEvent(const core::EventHolder &eventHolder)
static StreamNewStreamsEvent extractStreamNewStreamsEvent(const core::EventHolder &eventHolder)
static bool isStreamUnpublishedEvent(const core::EventHolder &eventHolder)
static StreamRoomCreatedEvent extractStreamRoomCreatedEvent(const core::EventHolder &eventHolder)
static bool isStreamLeftEvent(const core::EventHolder &eventHolder)
static bool isStreamsUpdatedEvent(const core::EventHolder &eventHolder)
static StreamsUpdatedEvent extractStreamsUpdatedEvent(const core::EventHolder &eventHolder)
static StreamRoomUpdatedEvent extractStreamRoomUpdatedEvent(const core::EventHolder &eventHolder)
static bool isStreamRoomCreatedEvent(const core::EventHolder &eventHolder)
static bool isStreamUpdatedEvent(const core::EventHolder &eventHolder)
static StreamUpdatedEvent extractStreamUpdatedEvent(const core::EventHolder &eventHolder)
static StreamLeftEvent extractStreamLeftEvent(const core::EventHolder &eventHolder)
static bool isStreamNewStreamsEvent(const core::EventHolder &eventHolder)
Definition Events.hpp:21
Event(const std::string &type)
Definition Types.hpp:145
std::string streamRoomId
Definition Events.hpp:35
std::string userId
Definition Events.hpp:45
std::vector< int64_t > streamIds
Definition Events.hpp:40
std::string toJSON() const override
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamJoinedEvent()
Definition Events.hpp:228
StreamEventData data
Definition Events.hpp:245
std::string streamRoomId
Definition Events.hpp:52
int64_t streamId
Definition Events.hpp:57
std::string userId
Definition Events.hpp:62
std::shared_ptr< core::SerializedEvent > serialize() const override
std::string toJSON() const override
StreamLeftEventData data
Definition Events.hpp:301
StreamLeftEvent()
Definition Events.hpp:284
StreamNewStreamsEvent()
Definition Events.hpp:313
std::shared_ptr< core::SerializedEvent > serialize() const override
NewStreams data
Definition Events.hpp:330
StreamPublishedEvent()
Definition Events.hpp:170
StreamPublishedEventData data
Definition Events.hpp:187
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoomCreatedEvent()
Definition Events.hpp:86
StreamRoom data
Definition Events.hpp:103
std::shared_ptr< core::SerializedEvent > serialize() const override
std::string streamRoomId
Definition Events.hpp:28
StreamRoomDeletedEventData data
Definition Events.hpp:159
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoomDeletedEvent()
Definition Events.hpp:142
StreamRoomUpdatedEvent()
Definition Events.hpp:114
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoom data
Definition Events.hpp:131
std::string streamRoomId
Definition Events.hpp:69
StreamUnpublishedEventData data
Definition Events.hpp:273
StreamUnpublishedEvent()
Definition Events.hpp:256
std::shared_ptr< core::SerializedEvent > serialize() const override
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamUpdatedEvent()
Definition Events.hpp:199
std::string toJSON() const override
StreamUpdatedEventData data
Definition Events.hpp:216
StreamsUpdatedData data
Definition Events.hpp:359
StreamsUpdatedEvent()
Definition Events.hpp:342
std::shared_ptr< core::SerializedEvent > serialize() const override