PrivMX Endpoint v2.7.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 <string>
6#include <optional>
7
8#include "privmx/endpoint/core/Types.hpp"
9#include "privmx/endpoint/core/UserVerifierInterface.hpp"
10#include "privmx/endpoint/core/ExtendedPointer.hpp"
11
12
13namespace privmx {
14namespace endpoint {
15namespace core {
16
17class ConnectionImpl;
18
22class Connection : public ExtendedPointer<ConnectionImpl> {
23public:
34 static Connection connect(const std::string& userPrivKey, const std::string& solutionId,
35 const std::string& bridgeUrl, const PKIVerificationOptions& verificationOptions = PKIVerificationOptions());
36
46 static Connection connectPublic(const std::string& solutionId, const std::string& bridgeUrl,
47 const PKIVerificationOptions& verificationOptions = PKIVerificationOptions());
48
53 Connection(const Connection& obj);
54 Connection& operator=(const Connection& obj);
57
63 int64_t getConnectionId();
64
73
81 PagingList<UserInfo> listContextUsers(const std::string& contextId, const PagingQuery& pagingQuery);
82
89 std::vector<std::string> subscribeFor(const std::vector<std::string>& subscriptionQueries);
90
95 void unsubscribeFrom(const std::vector<std::string>& subscriptionIds);
96
103 std::string buildSubscriptionQuery(EventType eventType, EventSelectorType selectorType, const std::string& selectorId);
104
110
121 void setUserVerifier(std::shared_ptr<UserVerifierInterface> verifier);
122
123private:
124 void assertConnection(const std::shared_ptr<ConnectionImpl>& impl);
125 Connection(const std::shared_ptr<ConnectionImpl>& impl);
126 std::optional<int64_t> _connectionId;
127};
128
129} // namespace core
130} // namespace endpoint
131} // namespace privmx
132
133#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