3#include "mc/_HeaderOutputPredefine.h"
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"
16namespace webrtc {
class Socket; }
30 enum class SSLState :
int {
38 class EarlyExitCatcher {
48 EarlyExitCatcher& operator=(EarlyExitCatcher
const&);
49 EarlyExitCatcher(EarlyExitCatcher
const&);
89 OpenSSLAdapter& operator=(OpenSSLAdapter
const&);
90 OpenSSLAdapter(OpenSSLAdapter
const&);
96 virtual ~OpenSSLAdapter() =
default;
98 virtual void SetIgnoreBadCert(
bool ignore) ;
100 virtual void SetAlpnProtocols(::std::vector<::std::string>
const& protos) ;
102 virtual void SetEllipticCurves(::std::vector<::std::string>
const& curves) ;
104 virtual void SetMode(::webrtc::SSLMode mode) ;
108 virtual void SetIdentity(::std::unique_ptr<::webrtc::SSLIdentity>
identity) ;
110 virtual void SetRole(::webrtc::SSLRole role) ;
112 virtual int StartSSL(::std::string_view hostname) ;
114 virtual int Send(
void const* pv, uint64 cb) ;
118 virtual int Recv(
void* pv, uint64 cb, int64* timestamp) ;
122 virtual int Close() ;
124 virtual ::webrtc::Socket::ConnState GetState() const ;
126 virtual
bool IsResumedSession() ;
128 virtual
void OnConnectEvent(::webrtc::
Socket* socket) ;
130 virtual
void OnReadEvent(::webrtc::
Socket* socket) ;
132 virtual
void OnWriteEvent(::webrtc::
Socket* socket) ;
134 virtual
void OnCloseEvent(::webrtc::
Socket* socket,
int err) ;
146 MCNAPI
int DoSslWrite(
void const* pv, uint64 cb,
int* error);
150 MCNAPI OpenSSLAdapter(
160 MCNAPI static ::ssl_ctx_st*
CreateContext(::webrtc::SSLMode mode,
bool enable_cache);
200 MCNAPI
int $Send(
void const* pv, uint64 cb);
204 MCNAPI
int $Recv(
void* pv, uint64 cb, int64* timestamp);
Definition OpenSSLAdapter.h:38
MCAPI ~EarlyExitCatcher()
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