LeviLamina
Loading...
Searching...
No Matches
OpenSSLAdapter.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/SSLAdapter.h"
7#include "mc/external/webrtc/SSLMode.h"
8#include "mc/external/webrtc/SSLRole.h"
9#include "mc/external/webrtc/Socket.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace webrtc { class OpenSSLSessionCache; }
14namespace webrtc { class SSLCertificateVerifier; }
15namespace webrtc { class SSLIdentity; }
16namespace webrtc { class Socket; }
17namespace webrtc { class SocketAddress; }
18// clang-format on
19
20namespace webrtc {
21
22class OpenSSLAdapter : public ::webrtc::SSLAdapter {
23public:
24 // OpenSSLAdapter inner types declare
25 // clang-format off
26 class EarlyExitCatcher;
27 // clang-format on
28
29 // OpenSSLAdapter inner types define
30 enum class SSLState : int {
31 None = 0,
32 Wait = 1,
33 Connecting = 2,
34 Connected = 3,
35 Error = 4,
36 };
37
38 class EarlyExitCatcher {
39 public:
40 // member variables
41 // NOLINTBEGIN
44 // NOLINTEND
45
46 public:
47 // prevent constructor by default
48 EarlyExitCatcher& operator=(EarlyExitCatcher const&);
49 EarlyExitCatcher(EarlyExitCatcher const&);
50 EarlyExitCatcher();
51
52 public:
53 // member functions
54 // NOLINTBEGIN
56 // NOLINTEND
57
58 public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCNAPI void $dtor();
62 // NOLINTEND
63 };
64
65public:
66 // member variables
67 // NOLINTBEGIN
85 // NOLINTEND
86
87public:
88 // prevent constructor by default
89 OpenSSLAdapter& operator=(OpenSSLAdapter const&);
90 OpenSSLAdapter(OpenSSLAdapter const&);
91 OpenSSLAdapter();
92
93public:
94 // virtual functions
95 // NOLINTBEGIN
96 virtual ~OpenSSLAdapter() /*override*/ = default;
97
98 virtual void SetIgnoreBadCert(bool ignore) /*override*/;
99
100 virtual void SetAlpnProtocols(::std::vector<::std::string> const& protos) /*override*/;
101
102 virtual void SetEllipticCurves(::std::vector<::std::string> const& curves) /*override*/;
103
104 virtual void SetMode(::webrtc::SSLMode mode) /*override*/;
105
106 virtual void SetCertVerifier(::webrtc::SSLCertificateVerifier* ssl_cert_verifier) /*override*/;
107
108 virtual void SetIdentity(::std::unique_ptr<::webrtc::SSLIdentity> identity) /*override*/;
109
110 virtual void SetRole(::webrtc::SSLRole role) /*override*/;
111
112 virtual int StartSSL(::std::string_view hostname) /*override*/;
113
114 virtual int Send(void const* pv, uint64 cb) /*override*/;
115
116 virtual int SendTo(void const* pv, uint64 cb, ::webrtc::SocketAddress const& addr) /*override*/;
117
118 virtual int Recv(void* pv, uint64 cb, int64* timestamp) /*override*/;
119
120 virtual int RecvFrom(void* pv, uint64 cb, ::webrtc::SocketAddress* paddr, int64* timestamp) /*override*/;
121
122 virtual int Close() /*override*/;
123
124 virtual ::webrtc::Socket::ConnState GetState() const /*override*/;
125
126 virtual bool IsResumedSession() /*override*/;
127
128 virtual void OnConnectEvent(::webrtc::Socket* socket) /*override*/;
129
130 virtual void OnReadEvent(::webrtc::Socket* socket) /*override*/;
131
132 virtual void OnWriteEvent(::webrtc::Socket* socket) /*override*/;
133
134 virtual void OnCloseEvent(::webrtc::Socket* socket, int err) /*override*/;
135 // NOLINTEND
136
137public:
138 // member functions
139 // NOLINTBEGIN
140 MCNAPI int BeginSSL();
141
142 MCNAPI void Cleanup();
143
144 MCNAPI int ContinueSSL();
145
146 MCNAPI int DoSslWrite(void const* pv, uint64 cb, int* error);
147
148 MCNAPI void Error(::std::string_view context, int err, bool signal);
149
150 MCNAPI OpenSSLAdapter(
151 ::webrtc::Socket* socket,
152 ::webrtc::OpenSSLSessionCache* ssl_session_cache,
153 ::webrtc::SSLCertificateVerifier* ssl_cert_verifier
154 );
155 // NOLINTEND
156
157public:
158 // static functions
159 // NOLINTBEGIN
160 MCNAPI static ::ssl_ctx_st* CreateContext(::webrtc::SSLMode mode, bool enable_cache);
161
162 MCNAPI static bool InitializeSSL();
163
164 MCNAPI static int NewSSLSessionCallback(::ssl_st* ssl, ::ssl_session_st* session);
165
166 MCNAPI static void SSLInfoCallback(::ssl_st const* ssl, int where, int ret);
167
168 MCNAPI static int SSLVerifyCallback(int status, ::x509_store_ctx_st* store);
169 // NOLINTEND
170
171public:
172 // constructor thunks
173 // NOLINTBEGIN
174 MCNAPI void* $ctor(
175 ::webrtc::Socket* socket,
176 ::webrtc::OpenSSLSessionCache* ssl_session_cache,
177 ::webrtc::SSLCertificateVerifier* ssl_cert_verifier
178 );
179 // NOLINTEND
180
181public:
182 // virtual function thunks
183 // NOLINTBEGIN
184 MCNAPI void $SetIgnoreBadCert(bool ignore);
185
186 MCNAPI void $SetAlpnProtocols(::std::vector<::std::string> const& protos);
187
188 MCNAPI void $SetEllipticCurves(::std::vector<::std::string> const& curves);
189
190 MCNAPI void $SetMode(::webrtc::SSLMode mode);
191
192 MCNAPI void $SetCertVerifier(::webrtc::SSLCertificateVerifier* ssl_cert_verifier);
193
194 MCNAPI void $SetIdentity(::std::unique_ptr<::webrtc::SSLIdentity> identity);
195
196 MCNAPI void $SetRole(::webrtc::SSLRole role);
197
198 MCNAPI int $StartSSL(::std::string_view hostname);
199
200 MCNAPI int $Send(void const* pv, uint64 cb);
201
202 MCNAPI int $SendTo(void const* pv, uint64 cb, ::webrtc::SocketAddress const& addr);
203
204 MCNAPI int $Recv(void* pv, uint64 cb, int64* timestamp);
205
206 MCNAPI int $RecvFrom(void* pv, uint64 cb, ::webrtc::SocketAddress* paddr, int64* timestamp);
207
208 MCNAPI int $Close();
209
210 MCNAPI ::webrtc::Socket::ConnState $GetState() const;
211
212 MCNAPI bool $IsResumedSession();
213
214 MCNAPI void $OnConnectEvent(::webrtc::Socket* socket);
215
216 MCNAPI void $OnReadEvent(::webrtc::Socket* socket);
217
218 MCNAPI void $OnWriteEvent(::webrtc::Socket* socket);
219
220 MCNAPI void $OnCloseEvent(::webrtc::Socket* socket, int err);
221
222
223 // NOLINTEND
224
225public:
226 // vftables
227 // NOLINTBEGIN
228 MCNAPI static void** $vftableForHasSlots();
229
230 MCNAPI static void** $vftableForSocket();
231 // NOLINTEND
232};
233
234} // namespace webrtc
Definition OpenSSLAdapter.h:38
MCAPI void $OnCloseEvent(::webrtc::Socket *socket, int err)
MCAPI int $RecvFrom(void *pv, uint64 cb, ::webrtc::SocketAddress *paddr, int64 *timestamp)
static MCAPI ::ssl_ctx_st * CreateContext(::webrtc::SSLMode mode, bool enable_cache)
MCAPI void $SetIdentity(::std::unique_ptr<::webrtc::SSLIdentity > identity)
static MCAPI void SSLInfoCallback(::ssl_st const *ssl, int where, int ret)
MCAPI int $StartSSL(::std::string_view hostname)
MCAPI void $OnReadEvent(::webrtc::Socket *socket)
static MCAPI int SSLVerifyCallback(int status, ::x509_store_ctx_st *store)
MCAPI void $OnWriteEvent(::webrtc::Socket *socket)
MCAPI void $SetMode(::webrtc::SSLMode mode)
MCAPI void * $ctor(::webrtc::Socket *socket, ::webrtc::OpenSSLSessionCache *ssl_session_cache, ::webrtc::SSLCertificateVerifier *ssl_cert_verifier)
MCAPI int $SendTo(void const *pv, uint64 cb, ::webrtc::SocketAddress const &addr)
static MCAPI bool InitializeSSL()
MCAPI int DoSslWrite(void const *pv, uint64 cb, int *error)
MCAPI bool $IsResumedSession()
MCAPI void $SetRole(::webrtc::SSLRole role)
MCAPI void $SetIgnoreBadCert(bool ignore)
static MCAPI int NewSSLSessionCallback(::ssl_st *ssl, ::ssl_session_st *session)
MCAPI void $SetAlpnProtocols(::std::vector<::std::string > const &protos)
MCAPI int $Recv(void *pv, uint64 cb, int64 *timestamp)
MCAPI void Error(::std::string_view context, int err, bool signal)
MCAPI void $SetCertVerifier(::webrtc::SSLCertificateVerifier *ssl_cert_verifier)
MCAPI::webrtc::Socket::ConnState $GetState() const
static MCAPI void ** $vftableForHasSlots()
MCAPI void $SetEllipticCurves(::std::vector<::std::string > const &curves)
MCAPI void $OnConnectEvent(::webrtc::Socket *socket)
static MCAPI void ** $vftableForSocket()
MCAPI int $Send(void const *pv, uint64 cb)
Definition OpenSSLSessionCache.h:7
Definition SSLAdapter.h:20
Definition SSLCertificateVerifier.h:12
Definition SSLIdentity.h:14
Definition SocketAddress.h:11
Definition Socket.h:12
STL namespace.
Definition context.h:5
Definition Alias.h:14
Definition identity.h:7