PrivMX Endpoint v2.8.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/stream/Types.hpp"
16#include <privmx/endpoint/core/Events.hpp>
17#include <privmx/endpoint/core/Types.hpp>
18
19namespace privmx {
20namespace endpoint {
21namespace stream {
22
32
40 std::string streamRoomId;
41
45 int64_t streamId;
46};
47
51using StreamPublishedEventData = PublishedStreamData;
52
57
61 StreamRoomCreatedEvent() : core::Event("streamRoomCreated") {}
62
68 std::string toJSON() const override;
69
73 std::shared_ptr<core::SerializedEvent> serialize() const override;
74
79};
80
85
89 StreamRoomUpdatedEvent() : core::Event("streamRoomUpdated") {}
90
96 std::string toJSON() const override;
97
101 std::shared_ptr<core::SerializedEvent> serialize() const override;
102
107};
108
113
117 StreamRoomDeletedEvent() : core::Event("streamRoomDeleted") {}
118
124 std::string toJSON() const override;
125
129 std::shared_ptr<core::SerializedEvent> serialize() const override;
130
135};
136
141
145 StreamPublishedEvent() : core::Event("streamPublished") {}
146
152 std::string toJSON() const override;
153
157 std::shared_ptr<core::SerializedEvent> serialize() const override;
158
162 StreamPublishedEventData data;
163};
164
169
173 StreamUpdatedEvent() : core::Event("streamUpdated") {}
174
180 std::string toJSON() const override;
181
185 std::shared_ptr<core::SerializedEvent> serialize() const override;
186
191};
192
197
201 StreamRoomJoinedEvent() : core::Event("streamRoomJoined") {}
202
208 std::string toJSON() const override;
209
213 std::shared_ptr<core::SerializedEvent> serialize() const override;
214
219};
220
225
229 StreamUnpublishedEvent() : core::Event("streamUnpublished") {}
230
236 std::string toJSON() const override;
237
241 std::shared_ptr<core::SerializedEvent> serialize() const override;
242
247};
248
253
257 StreamRoomLeftEvent() : core::Event("streamRoomLeft") {}
258
264 std::string toJSON() const override;
265
269 std::shared_ptr<core::SerializedEvent> serialize() const override;
270
275};
276
281
285 StreamSubscribedEvent() : core::Event("streamSubscribed") {}
286
292 std::string toJSON() const override;
293
297 std::shared_ptr<core::SerializedEvent> serialize() const override;
298
303};
304
309
313 StreamUnsubscribedEvent() : core::Event("streamUnsubscribed") {}
314
320 std::string toJSON() const override;
321
325 std::shared_ptr<core::SerializedEvent> serialize() const override;
326
331};
332
336class Events {
337public:
344 static bool isStreamRoomCreatedEvent(const core::EventHolder& eventHolder);
345
353
360 static bool isStreamRoomUpdatedEvent(const core::EventHolder& eventHolder);
361
369
376 static bool isStreamRoomDeletedEvent(const core::EventHolder& eventHolder);
377
385
392 static bool isStreamPublishedEvent(const core::EventHolder& eventHolder);
393
401
408 static bool isStreamUpdatedEvent(const core::EventHolder& eventHolder);
409
417
424 static bool isStreamRoomJoinedEvent(const core::EventHolder& eventHolder);
425
433
440 static bool isStreamUnpublishedEvent(const core::EventHolder& eventHolder);
441
449
456 static bool isStreamRoomLeftEvent(const core::EventHolder& eventHolder);
457
465
472 static bool isStreamSubscribedEvent(const core::EventHolder& eventHolder);
473
481
488 static bool isStreamUnsubscribedEvent(const core::EventHolder& eventHolder);
489
497};
498
499} // namespace stream
500} // namespace endpoint
501} // namespace privmx
502
503#endif // _PRIVMXLIB_ENDPOINT_STREAM_EVENTS_HPP_
Definition Events.hpp:78
Definition Events.hpp:336
static bool isStreamPublishedEvent(const core::EventHolder &eventHolder)
static bool isStreamRoomJoinedEvent(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 StreamUnsubscribedEvent extractStreamUnsubscribedEvent(const core::EventHolder &eventHolder)
static bool isStreamUnsubscribedEvent(const core::EventHolder &eventHolder)
static StreamPublishedEvent extractStreamPublishedEvent(const core::EventHolder &eventHolder)
static StreamSubscribedEvent extractStreamSubscribedEvent(const core::EventHolder &eventHolder)
static bool isStreamUnpublishedEvent(const core::EventHolder &eventHolder)
static StreamRoomCreatedEvent extractStreamRoomCreatedEvent(const core::EventHolder &eventHolder)
static StreamRoomJoinedEvent extractStreamRoomJoinedEvent(const core::EventHolder &eventHolder)
static StreamRoomUpdatedEvent extractStreamRoomUpdatedEvent(const core::EventHolder &eventHolder)
static bool isStreamRoomCreatedEvent(const core::EventHolder &eventHolder)
static bool isStreamRoomLeftEvent(const core::EventHolder &eventHolder)
static bool isStreamUpdatedEvent(const core::EventHolder &eventHolder)
static StreamUpdatedEvent extractStreamUpdatedEvent(const core::EventHolder &eventHolder)
static bool isStreamSubscribedEvent(const core::EventHolder &eventHolder)
static StreamRoomLeftEvent extractStreamRoomLeftEvent(const core::EventHolder &eventHolder)
Definition Events.hpp:19
Event(const std::string &type)
StreamPublishedEvent()
Definition Events.hpp:145
StreamPublishedEventData data
Definition Events.hpp:162
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoomCreatedEvent()
Definition Events.hpp:61
StreamRoom data
Definition Events.hpp:78
std::shared_ptr< core::SerializedEvent > serialize() const override
std::string streamRoomId
Definition Events.hpp:30
StreamRoomDeletedEventData data
Definition Events.hpp:134
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoomDeletedEvent()
Definition Events.hpp:117
StreamRoomJoinedEvent()
Definition Events.hpp:201
StreamRoomParticipantEventData data
Definition Events.hpp:218
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoomParticipantEventData data
Definition Events.hpp:274
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoomLeftEvent()
Definition Events.hpp:257
StreamRoomUpdatedEvent()
Definition Events.hpp:89
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamRoom data
Definition Events.hpp:106
StreamSubscriptionEventData data
Definition Events.hpp:302
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamSubscribedEvent()
Definition Events.hpp:285
std::string streamRoomId
Definition Events.hpp:40
StreamUnpublishedEventData data
Definition Events.hpp:246
StreamUnpublishedEvent()
Definition Events.hpp:229
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamUnsubscribedEvent()
Definition Events.hpp:313
StreamSubscriptionEventData data
Definition Events.hpp:330
std::shared_ptr< core::SerializedEvent > serialize() const override
std::shared_ptr< core::SerializedEvent > serialize() const override
StreamUpdatedEvent()
Definition Events.hpp:173
std::string toJSON() const override
StreamUpdatedEventData data
Definition Events.hpp:190