PrivMX Endpoint v2.8.0
Loading...
Searching...
No Matches
Connection.hpp
1#ifndef _PRIVMXLIB_ENDPOINT_CORE_CONNECTION_HPP_
2#define _PRIVMXLIB_ENDPOINT_CORE_CONNECTION_HPP_
3
4#include <memory>
5#include <optional>
6#include <string>
7
8#include "privmx/endpoint/core/ExtendedPointer.hpp"
9#include "privmx/endpoint/core/Types.hpp"
10#include "privmx/endpoint/core/UserVerifierInterface.hpp"
11
12namespace privmx {
13namespace endpoint {
14namespace core {
15
16class ConnectionImpl;
17
21class Connection : public ExtendedPointer<ConnectionImpl> {
22public:
34 const std::string& userPrivKey,
35 const std::string& solutionId,
36 const std::string& bridgeUrl,
37 const PKIVerificationOptions& verificationOptions = PKIVerificationOptions()
38 );
39
50 const std::string& solutionId,
51 const std::string& bridgeUrl,
52 const PKIVerificationOptions& verificationOptions = PKIVerificationOptions()
53 );
54
59 Connection(const Connection& obj);
60 Connection& operator=(const Connection& obj);
63
69 int64_t getConnectionId();
70
79
87 PagingList<UserInfo> listContextUsers(const std::string& contextId, const PagingQuery& pagingQuery);
88
95 std::vector<std::string> subscribeFor(const std::vector<std::string>& subscriptionQueries);
96
101 void unsubscribeFrom(const std::vector<std::string>& subscriptionIds);
102
110 EventType eventType,
111 EventSelectorType selectorType,
112 const std::string& selectorId
113 );
114
120
131 void setUserVerifier(std::shared_ptr<UserVerifierInterface> verifier);
132
133private:
134 void assertConnection(const std::shared_ptr<ConnectionImpl>& impl);
135 Connection(const std::shared_ptr<ConnectionImpl>& impl);
136 std::optional<int64_t> _connectionId;
137};
138
139} // namespace core
140} // namespace endpoint
141} // namespace privmx
142
143#endif // _PRIVMXLIB_ENDPOINT_CORE_CONNECTION_HPP_
PagingList< UserInfo > listContextUsers(const std::string &contextId, const PagingQuery &pagingQuery)
PagingList< Context > listContexts(const PagingQuery &pagingQuery)
void unsubscribeFrom(const std::vector< std::string > &subscriptionIds)
static Connection connect(const std::string &userPrivKey, const std::string &solutionId, const std::string &bridgeUrl, const PKIVerificationOptions &verificationOptions=PKIVerificationOptions())
std::string buildSubscriptionQuery(EventType eventType, EventSelectorType selectorType, const std::string &selectorId)
void setUserVerifier(std::shared_ptr< UserVerifierInterface > verifier)
static Connection connectPublic(const std::string &solutionId, const std::string &bridgeUrl, const PKIVerificationOptions &verificationOptions=PKIVerificationOptions())
std::vector< std::string > subscribeFor(const std::vector< std::string > &subscriptionQueries)
Definition Types.hpp:16