3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/webrtc/ArrayView.h"
7#include "mc/external/webrtc/IceAgentInterface.h"
8#include "mc/external/webrtc/IceGatheringState.h"
9#include "mc/external/webrtc/IceMode.h"
10#include "mc/external/webrtc/IceRole.h"
11#include "mc/external/webrtc/IceSwitchReason.h"
12#include "mc/external/webrtc/IceTransportInternal.h"
13#include "mc/external/webrtc/IceTransportState.h"
14#include "mc/external/webrtc/IceTransportStateInternal.h"
15#include "mc/external/webrtc/LocalNetworkAccessPermissionStatus.h"
16#include "mc/external/webrtc/ProtocolType.h"
17#include "mc/external/webrtc/Socket.h"
61 struct CandidateAndPermission {
71 CandidateAndPermission& operator=(CandidateAndPermission
const&);
72 CandidateAndPermission(CandidateAndPermission
const&);
73 CandidateAndPermission();
76 struct CandidateAndResolver {
86 CandidateAndResolver& operator=(CandidateAndResolver
const&);
87 CandidateAndResolver(CandidateAndResolver
const&);
88 CandidateAndResolver();
147 P2PTransportChannel& operator=(P2PTransportChannel
const&);
148 P2PTransportChannel(P2PTransportChannel
const&);
149 P2PTransportChannel();
154 virtual ~P2PTransportChannel() ;
156 virtual ::webrtc::IceTransportStateInternal GetState() const ;
158 virtual ::webrtc::IceTransportState GetIceTransportState() const ;
160 virtual ::
std::
string const& transport_name() const ;
162 virtual
int component() const ;
164 virtual
bool writable() const ;
166 virtual
bool receiving() const ;
168 virtual
void SetIceRole(::webrtc::IceRole ice_role) ;
170 virtual ::webrtc::IceRole GetIceRole() const ;
172 virtual
void SetIceParameters(::webrtc::
IceParameters const& ice_params) ;
174 virtual
void SetRemoteIceParameters(::webrtc::
IceParameters const& ice_params) ;
176 virtual
void SetRemoteIceMode(::webrtc::IceMode mode) ;
178 virtual
void MaybeStartGathering() ;
180 virtual ::webrtc::IceGatheringState gathering_state() const ;
182 virtual
void AddRemoteCandidate(::webrtc::
Candidate const& candidate) ;
184 virtual
void RemoveRemoteCandidate(::webrtc::
Candidate const& cand_to_remove) ;
186 virtual
void RemoveAllRemoteCandidates() ;
188 virtual
void SetIceConfig(::webrtc::
IceConfig const& config) ;
190 virtual ::webrtc::
IceConfig const& config() const ;
195 virtual
int SetOption(::webrtc::
Socket::
Option opt,
int value) ;
197 virtual
bool GetOption(::webrtc::
Socket::
Option opt,
int* value) ;
199 virtual
int GetError() ;
203 virtual ::
std::optional<
int> GetRttEstimate() ;
205 virtual ::webrtc::
Connection const* selected_connection() const ;
207 virtual ::
std::optional<::webrtc::
CandidatePair const> GetSelectedCandidatePair() const ;
209 virtual
void OnStartedPinging() ;
211 virtual int64 GetLastPingSentMs() const ;
213 virtual
void UpdateConnectionStates() ;
215 virtual
void UpdateState() ;
217 virtual
void SendPingRequest(::webrtc::
Connection const* connection) ;
220 SwitchSelectedConnection(::webrtc::
Connection const* new_connection, ::webrtc::IceSwitchReason reason) ;
223 ForgetLearnedStateForConnections(::webrtc::
ArrayView<::webrtc::
Connection const* const> connections) ;
225 virtual
bool PruneConnections(::webrtc::
ArrayView<::webrtc::
Connection const* const> connections) ;
227 virtual ::
std::optional<::webrtc::
NetworkRoute> network_route() const ;
230 GetDictionaryWriter() ;
234 virtual
void ResetDtlsStunPiggybackCallbacks() ;
238 virtual ::webrtc::
IceParameters const* local_ice_parameters() const ;
240 virtual ::webrtc::
IceParameters const* remote_ice_parameters() const ;
263 ::webrtc::
Candidate const& remote_candidate,
293 ::webrtc::LocalNetworkAccessPermissionStatus status
311 ::webrtc::ProtocolType proto,
313 ::
std::
string const& remote_username,
317 MCNAPI P2PTransportChannel(
319 ::
std::string_view transport_name,
344 MCAPI
void SwitchSelectedConnectionInternal(::webrtc::
Connection* conn, ::webrtc::IceSwitchReason reason);
354 MCNAPI static ::
std::unique_ptr<::webrtc::P2PTransportChannel>
363 ::
std::string_view transport_name,
383 MCNAPI ::webrtc::IceTransportStateInternal
$GetState() const;
Definition ActiveIceControllerFactoryInterface.h:13
Definition AsyncDnsResolverFactoryInterface.h:16
Definition AsyncDnsResolverInterface.h:16
Definition AsyncDnsResolverResult.h:12
Definition Candidate.h:12
Definition Connection.h:35
Definition DtlsStunPiggybackCallbacks.h:7
Definition Environment.h:7
Definition FieldTrialsView.h:7
Definition IceAgentInterface.h:17
Definition IceControllerFactoryInterface.h:13
Definition IceMessage.h:11
Definition IceTransportInit.h:7
Definition IceTransportInternal.h:29
Definition LocalNetworkAccessPermissionFactoryInterface.h:12
Definition LocalNetworkAccessPermissionInterface.h:16
MCAPI void $OnStartedPinging()
MCAPI void ResolveHostnameCandidate(::webrtc::Candidate const &candidate)
MCAPI int $SendPacket(char const *data, uint64 len, ::webrtc::AsyncSocketPacketOptions const &options, int flags)
MCAPI void $SetIceRole(::webrtc::IceRole ice_role)
MCAPI void OnReadyToSend(::webrtc::Connection *connection)
MCAPI::webrtc::FieldTrialsView const * $field_trials() const
MCAPI void * $ctor(::webrtc::Environment const &env, ::std::string_view transport_name, int component, ::webrtc::PortAllocator *allocator, ::webrtc::AsyncDnsResolverFactoryInterface *async_dns_resolver_factory, ::std::unique_ptr<::webrtc::AsyncDnsResolverFactoryInterface > owned_dns_resolver_factory, ::webrtc::LocalNetworkAccessPermissionFactoryInterface *lna_permission_factory, ::webrtc::IceControllerFactoryInterface *ice_controller_factory, ::webrtc::ActiveIceControllerFactoryInterface *active_ice_controller_factory)
MCAPI::std::string const & $transport_name() const
MCAPI ::std::optional<::webrtc::NetworkRoute > $network_route() const
MCAPI void FinishAddingRemoteCandidate(::webrtc::Candidate const &new_remote_candidate)
MCAPI void $SetRemoteIceParameters(::webrtc::IceParameters const &ice_params)
MCAPI bool CreateConnection(::webrtc::PortInterface *port, ::webrtc::Candidate const &remote_candidate, ::webrtc::PortInterface *origin_port)
MCAPI int $SetOption(::webrtc::Socket::Option opt, int value)
MCAPI::webrtc::IceConfig const & $config() const
MCAPI void OnCandidateResolved(::webrtc::AsyncDnsResolverInterface *resolver)
MCAPI::webrtc::IceGatheringState $gathering_state() const
MCAPI void OnConnectionDestroyed(::webrtc::Connection *connection)
MCAPI void AddAllocatorSession(::std::unique_ptr<::webrtc::PortAllocatorSession > session)
MCAPI::std::string ToString() const
MCAPI ::std::optional< int > $GetRttEstimate()
MCAPI bool $PruneConnections(::webrtc::ArrayView<::webrtc::Connection const *const > connections)
MCAPI void CheckLocalNetworkAccessPermission(::webrtc::Candidate const &candidate)
MCAPI void RememberRemoteCandidate(::webrtc::Candidate const &remote_candidate, ::webrtc::PortInterface *origin_port)
MCAPI ::std::optional<::std::reference_wrapper<::webrtc::StunDictionaryWriter > > $GetDictionaryWriter()
MCAPI void OnSelectedConnectionDestroyed()
MCAPI void AddRemoteCandidateWithResult(::webrtc::Candidate candidate, ::webrtc::AsyncDnsResolverResult const &result)
MCAPI::webrtc::IceRole $GetIceRole() const
MCAPI void AddConnection(::webrtc::Connection *connection)
MCAPI void OnConnectionStateChange(::webrtc::Connection *connection)
MCAPI::webrtc::IceParameters const * $remote_ice_parameters() const
MCAPI void $SetDtlsStunPiggybackCallbacks(::webrtc::DtlsStunPiggybackCallbacks &&callbacks)
static MCAPI void ** $vftableForIceTransportInternal()
MCAPI::webrtc::IceTransportState $GetIceTransportState() const
MCAPI::webrtc::IceTransportStateInternal $GetState() const
MCAPI void OnLocalNetworkAccessResult(::webrtc::LocalNetworkAccessPermissionInterface *permission_query, ::webrtc::LocalNetworkAccessPermissionStatus status)
MCAPI bool $receiving() const
MCAPI::webrtc::IceTransportState ComputeIceTransportState() const
MCAPI void RemoveConnection(::webrtc::Connection *connection)
MCAPI void OnCandidatesReady(::webrtc::PortAllocatorSession *, ::std::vector<::webrtc::Candidate > const &candidates)
MCAPI void $UpdateConnectionStates()
MCAPI void $AddRemoteCandidate(::webrtc::Candidate const &candidate)
MCAPI bool $GetStats(::webrtc::IceTransportStats *ice_transport_stats)
MCAPI void OnUnknownAddress(::webrtc::PortInterface *port, ::webrtc::SocketAddress const &address, ::webrtc::ProtocolType proto, ::webrtc::IceMessage *stun_msg, ::std::string const &remote_username, bool port_muxed)
MCAPI void UpdateTransportState()
MCAPI void ParseFieldTrials(::webrtc::FieldTrialsView const &field_trials)
MCAPI void $RemoveRemoteCandidate(::webrtc::Candidate const &cand_to_remove)
MCAPI void $ForgetLearnedStateForConnections(::webrtc::ArrayView<::webrtc::Connection const *const > connections)
MCAPI void OnCandidateFilterChanged(uint prev_filter, uint cur_filter)
MCAPI void OnNominated(::webrtc::Connection *conn)
MCAPI void $MaybeStartGathering()
MCAPI::webrtc::Candidate SanitizeRemoteCandidate(::webrtc::Candidate const &c) const
MCAPI bool IsDuplicateRemoteCandidate(::webrtc::Candidate const &candidate)
MCAPI int $component() const
MCAPI void OnPortsPruned(::webrtc::PortAllocatorSession *, ::std::vector<::webrtc::PortInterface * > const &ports)
MCAPI::webrtc::Connection const * $selected_connection() const
MCAPI void SendPingRequestInternal(::webrtc::Connection *connection)
MCAPI bool $writable() const
MCAPI void $SetIceConfig(::webrtc::IceConfig const &config)
MCAPI void OnCandidateError(::webrtc::PortAllocatorSession *, ::webrtc::IceCandidateErrorEvent const &event)
MCAPI bool PresumedWritable(::webrtc::Connection const *conn) const
MCAPI void $ResetDtlsStunPiggybackCallbacks()
MCAPI void HandleAllTimedOut()
MCAPI ::std::optional<::webrtc::CandidatePair const > $GetSelectedCandidatePair() const
MCAPI void OnSentPacket(::webrtc::SentPacketInfo const &sent_packet)
MCAPI int64 $GetLastPingSentMs() const
MCAPI void $SetRemoteIceMode(::webrtc::IceMode mode)
MCAPI::webrtc::NetworkRoute ConfigureNetworkRoute(::webrtc::Connection const *conn)
MCAPI::webrtc::IceParameters const * $local_ice_parameters() const
MCAPI void $SendPingRequest(::webrtc::Connection const *connection)
MCAPI void OnPortReady(::webrtc::PortAllocatorSession *, ::webrtc::PortInterface *port)
MCAPI bool $GetOption(::webrtc::Socket::Option opt, int *value)
MCAPI void $UpdateState()
MCAPI void OnCandidatesAllocationDone(::webrtc::PortAllocatorSession *)
MCAPI void $SetIceParameters(::webrtc::IceParameters const &ice_params)
MCAPI::webrtc::IceTransportStateInternal ComputeState() const
MCAPI void $RemoveAllRemoteCandidates()
MCAPI void OnCandidatesRemoved(::webrtc::PortAllocatorSession *session, ::std::vector<::webrtc::Candidate > const &candidates)
static MCAPI ::std::unique_ptr<::webrtc::P2PTransportChannel > Create(::std::string_view transport_name, int component, ::webrtc::IceTransportInit init)
static MCAPI void ** $vftableForIceAgentInterface()
MCAPI void $SwitchSelectedConnection(::webrtc::Connection const *new_connection, ::webrtc::IceSwitchReason reason)
Definition PortAllocatorSession.h:18
Definition PortAllocator.h:26
Definition PortInterface.h:29
Definition SocketAddress.h:11
Definition StunDictionaryWriter.h:13
Definition AsyncSocketPacketOptions.h:10
Definition CandidatePair.h:15
Definition IceCandidateErrorEvent.h:7
Definition IceConfig.h:16
Definition IceParameters.h:12
Definition IceTransportStats.h:7
Definition NetworkRoute.h:7
Definition P2PTransportChannel.h:61
Definition P2PTransportChannel.h:76
Definition SentPacketInfo.h:12