PrivMX Endpoint v2.8.0
Loading...
Searching...
No Matches
EventApi.hpp
1#ifndef _PRIVMXLIB_ENDPOINT_EVENT_EVENTAPI_HPP_
2#define _PRIVMXLIB_ENDPOINT_EVENT_EVENTAPI_HPP_
3
4#include "privmx/endpoint/core/Buffer.hpp"
5#include "privmx/endpoint/core/Connection.hpp"
6#include "privmx/endpoint/event/Types.hpp"
7#include <privmx/endpoint/core/ExtendedPointer.hpp>
8
9namespace privmx {
10namespace endpoint {
11namespace event {
12
13class EventApiImpl;
14
19public:
27 static EventApi create(core::Connection& connection);
28
33 EventApi(const EventApi& obj);
34 EventApi& operator=(const EventApi& obj);
35 EventApi(EventApi&& obj);
36 ~EventApi();
37
47 const std::string& contextId,
48 const std::vector<core::UserWithPubKey>& users,
49 const std::string& channelName,
50 const core::Buffer& eventData
51 );
52
59 std::vector<std::string> subscribeFor(const std::vector<std::string>& subscriptionQueries);
60
65 void unsubscribeFrom(const std::vector<std::string>& subscriptionIds);
66
74 const std::string& channelName,
75 EventSelectorType selectorType,
76 const std::string& selectorId
77 );
78
79private:
80 EventApi(const std::shared_ptr<EventApiImpl>& impl);
81};
82
83} // namespace event
84} // namespace endpoint
85} // namespace privmx
86
87#endif // _PRIVMXLIB_ENDPOINT_EVENT_EVENTAPI_HPP_
Definition Buffer.hpp:13
Definition Connection.hpp:21
Definition ExtendedPointer.hpp:16
static EventApi create(core::Connection &connection)
std::vector< std::string > subscribeFor(const std::vector< std::string > &subscriptionQueries)
std::string buildSubscriptionQuery(const std::string &channelName, EventSelectorType selectorType, const std::string &selectorId)
void unsubscribeFrom(const std::vector< std::string > &subscriptionIds)
void emitEvent(const std::string &contextId, const std::vector< core::UserWithPubKey > &users, const std::string &channelName, const core::Buffer &eventData)