3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/webrtc/ArrayView.h"
8#include "mc/external/webrtc/BufferT.h"
9#include "mc/external/webrtc/SSLHandshakeError.h"
10#include "mc/external/webrtc/SSLMode.h"
11#include "mc/external/webrtc/SSLPeerCertificateDigestError.h"
12#include "mc/external/webrtc/SSLProtocolVersion.h"
13#include "mc/external/webrtc/SSLRole.h"
14#include "mc/external/webrtc/SSLStreamAdapter.h"
15#include "mc/external/webrtc/StreamResult.h"
16#include "mc/external/webrtc/StreamState.h"
31 enum class SSLState :
int {
73 OpenSSLStreamAdapter& operator=(OpenSSLStreamAdapter
const&);
74 OpenSSLStreamAdapter(OpenSSLStreamAdapter
const&);
75 OpenSSLStreamAdapter();
80 virtual ~OpenSSLStreamAdapter() ;
82 virtual void SetIdentity(::std::unique_ptr<::webrtc::SSLIdentity>
identity) ;
84 virtual ::webrtc::SSLIdentity* GetIdentityForTesting()
const ;
86 virtual void SetServerRole(::webrtc::SSLRole role) ;
88 virtual ::webrtc::SSLPeerCertificateDigestError
91 virtual ::std::unique_ptr<::webrtc::SSLCertChain> GetPeerSSLCertChain()
const ;
93 virtual int StartSSL() ;
95 virtual void SetMode(::webrtc::SSLMode mode) ;
97 virtual void SetMaxProtocolVersion(::webrtc::SSLProtocolVersion version) ;
99 virtual void SetInitialRetransmissionTimeout(
int timeout_ms) ;
101 virtual void SetMTU(
int mtu) ;
105 virtual ::webrtc::StreamResult
108 virtual void Close() ;
110 virtual ::webrtc::StreamState GetState()
const ;
112 virtual ::std::optional<::std::string_view> GetTlsCipherSuiteName()
const ;
114 virtual bool GetSslCipherSuite(
int* cipher_suite)
const ;
116 virtual ::webrtc::SSLProtocolVersion GetSslVersion()
const ;
118 virtual bool GetSslVersionBytes(
int* version)
const ;
122 virtual ushort GetPeerSignatureAlgorithm()
const ;
124 virtual bool SetDtlsSrtpCryptoSuites(::std::vector<int>
const& ciphers) ;
126 virtual bool GetDtlsSrtpCryptoSuite(
int* crypto_suite)
const ;
128 virtual bool IsTlsConnected() ;
130 virtual int GetRetransmissionCount()
const ;
132 virtual bool SetSslGroupIds(::std::vector<ushort>
const& groups) ;
134 virtual ushort GetSslGroupId()
const ;
146 MCNAPI
void Error(::std::string_view
context,
int err, uchar alert,
bool signal);
153 ::std::unique_ptr<::webrtc::StreamInterface> stream,
171 ::std::unique_ptr<::webrtc::StreamInterface> stream,
192 MCNAPI ::webrtc::SSLPeerCertificateDigestError
Definition AnyInvocable.h:8
Definition FieldTrialsView.h:7
MCAPI void OnEvent(int events, int err)
MCAPI ushort $GetPeerSignatureAlgorithm() const
MCAPI void Error(::std::string_view context, int err, uchar alert, bool signal)
MCAPI::webrtc::StreamResult $Read(::webrtc::ArrayView< uchar > data, uint64 &read, int &error)
MCAPI::webrtc::StreamResult $Write(::webrtc::ArrayView< uchar const > data, uint64 &written, int &error)
MCAPI void $SetIdentity(::std::unique_ptr<::webrtc::SSLIdentity > identity)
MCAPI::webrtc::StreamState $GetState() const
MCAPI void $SetInitialRetransmissionTimeout(int timeout_ms)
MCAPI void $SetMTU(int mtu)
MCAPI bool $GetSslCipherSuite(int *cipher_suite) const
MCAPI bool VerifyPeerCertificate()
MCAPI::webrtc::SSLIdentity * $GetIdentityForTesting() const
MCAPI OpenSSLStreamAdapter(::std::unique_ptr<::webrtc::StreamInterface > stream, ::absl::AnyInvocable< void(::webrtc::SSLHandshakeError)> handshake_error, ::webrtc::FieldTrialsView const *field_trials)
MCAPI ::std::unique_ptr<::webrtc::SSLCertChain > $GetPeerSSLCertChain() const
MCAPI ushort $GetSslGroupId() const
MCAPI void Cleanup(uchar alert)
MCAPI bool $SetDtlsSrtpCryptoSuites(::std::vector< int > const &ciphers)
MCAPI bool $GetSslVersionBytes(int *version) const
MCAPI void $SetMode(::webrtc::SSLMode mode)
MCAPI bool $IsTlsConnected()
static MCAPI void ** $vftable()
MCAPI::webrtc::SSLProtocolVersion $GetSslVersion() const
MCAPI ::std::optional<::std::string_view > $GetTlsCipherSuiteName() const
MCAPI void * $ctor(::std::unique_ptr<::webrtc::StreamInterface > stream, ::absl::AnyInvocable< void(::webrtc::SSLHandshakeError)> handshake_error, ::webrtc::FieldTrialsView const *field_trials)
MCAPI bool $GetDtlsSrtpCryptoSuite(int *crypto_suite) const
MCAPI void MaybeSetTimeout()
MCAPI bool $SetSslGroupIds(::std::vector< ushort > const &groups)
MCAPI void $SetServerRole(::webrtc::SSLRole role)
MCAPI bool $ExportSrtpKeyingMaterial(::webrtc::BufferT< uchar, 1 > &keying_material)
MCAPI int $GetRetransmissionCount() const
MCAPI void $SetMaxProtocolVersion(::webrtc::SSLProtocolVersion version)
MCAPI::webrtc::SSLPeerCertificateDigestError $SetPeerCertificateDigest(::std::string_view digest_alg, ::webrtc::ArrayView< uchar const > digest_val)
static MCAPI int SSLVerifyCallback(::x509_store_ctx_st *store, void *arg)
Definition SSLCertChain.h:13
Definition SSLIdentity.h:14
Definition SSLStreamAdapter.h:25
Definition StreamInterface.h:12