3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/cricket/IceRole.h"
7#include "mc/external/cricket/PortInterface.h"
8#include "mc/external/cricket/ProtocolType.h"
9#include "mc/external/rtc/DiffServCodePoint.h"
10#include "mc/external/rtc/WeakPtr.h"
11#include "mc/external/sigslot/has_slots.h"
12#include "mc/external/sigslot/single_threaded.h"
13#include "mc/external/webrtc/IceCandidateType.h"
17namespace cricket {
class Candidate; }
18namespace cricket {
class Connection; }
19namespace cricket {
class IceMessage; }
20namespace cricket {
class StunMessage; }
21namespace cricket {
class StunStats; }
22namespace rtc {
class AsyncPacketSocket; }
23namespace rtc {
class Network; }
24namespace rtc {
class PacketSocketFactory; }
25namespace rtc {
class ReceivedPacket; }
26namespace rtc {
class SocketAddress; }
27namespace rtc {
struct PacketInfo; }
28namespace rtc {
struct ProxyInfo; }
29namespace rtc {
struct SentPacket; }
30namespace webrtc {
class FieldTrialsView; }
31namespace webrtc {
class TaskQueueBase; }
39 enum class State :
int {
95 virtual ::webrtc::IceCandidateType Type()
const ;
98 virtual ::rtc::Network
const* Network()
const ;
101 virtual ::cricket::IceRole GetIceRole()
const ;
104 virtual void SetIceRole(::cricket::IceRole role) ;
107 virtual void SetIceTiebreaker(uint64 tiebreaker) ;
110 virtual uint64 IceTiebreaker()
const ;
113 virtual bool SharedSocket()
const ;
116 virtual ::webrtc::TaskQueueBase* thread() ;
119 virtual ::rtc::PacketSocketFactory* socket_factory()
const ;
122 virtual ::std::string
const& content_name()
const ;
125 virtual bool send_retransmit_count_attribute()
const ;
128 virtual uint generation()
const ;
131 virtual void set_generation(uint generation) ;
134 virtual ::std::vector<::cricket::Candidate>
const& Candidates()
const ;
155 virtual void SendBindingErrorResponse(
159 ::std::string_view reason
163 virtual ::std::string
const& user_agent() ;
166 virtual ::rtc::ProxyInfo
const& proxy() ;
169 virtual void EnablePortPackets() ;
172 virtual ::std::string ToString()
const ;
175 virtual bool ParseStunUsername(
177 ::std::string* local_ufrag,
178 ::std::string* remote_ufrag
182 virtual ::std::string CreateStunUsername(::std::string_view remote_username)
const ;
185 virtual bool MaybeIceRoleConflict(
188 ::std::string_view remote_ufrag
198 virtual short network_cost()
const ;
201 virtual void GetStunStats(::std::optional<::cricket::StunStats>* stats) ;
204 virtual void UpdateNetworkCost() ;
207 virtual void PostAddAddress(
bool is_final);
210 virtual bool GetStunMessage(
214 ::std::unique_ptr<::cricket::IceMessage>* out_msg,
215 ::std::string* out_username
219 virtual ::rtc::DiffServCodePoint StunDscpValue()
const ;
232 ::std::string_view protocol,
233 ::std::string_view relay_protocol,
234 ::std::string_view tcptype,
235 ::webrtc::IceCandidateType type,
236 uint type_preference,
237 uint relay_preference,
238 ::std::string_view url,
276 ::webrtc::IceCandidateType type,
280 ::std::string_view password,
286 ::webrtc::IceCandidateType type,
292 ::std::string_view password,
306 ::std::vector<ushort>
const& unknown_types
321 ::webrtc::IceCandidateType type,
325 ::std::string_view password,
331 ::webrtc::IceCandidateType type,
337 ::std::string_view password,
352 MCNAPI ::webrtc::IceCandidateType
$Type()
const;
378 MCNAPI ::std::vector<::cricket::Candidate>
const&
$Candidates()
const;
396 ::std::string_view reason
409 ::std::string* local_ufrag,
410 ::std::string* remote_ufrag
418 ::std::string_view remote_ufrag
435 ::std::unique_ptr<::cricket::IceMessage>* out_msg,
436 ::std::string* out_username
Definition Candidate.h:15
Definition Connection.h:38
Definition IceMessage.h:11
Definition PortInterface.h:29
MCAPI bool $GetStunMessage(char const *data, uint64 size, ::rtc::SocketAddress const &addr, ::std::unique_ptr<::cricket::IceMessage > *out_msg, ::std::string *out_username)
MCAPI::std::string $ToString() const
MCAPI void $SendBindingErrorResponse(::cricket::StunMessage *message, ::rtc::SocketAddress const &addr, int error_code, ::std::string_view reason)
MCAPI void $PostAddAddress(bool is_final)
MCAPI void DestroyConnectionInternal(::cricket::Connection *conn, bool async)
MCAPI bool $HandleIncomingPacket(::rtc::AsyncPacketSocket *socket, ::rtc::ReceivedPacket const &packet)
MCAPI bool $CanHandleIncomingPacketsFrom(::rtc::SocketAddress const &) const
static MCAPI void ** $vftableForPortInterface()
MCAPI Port(::webrtc::TaskQueueBase *thread, ::webrtc::IceCandidateType type, ::rtc::PacketSocketFactory *factory, ::rtc::Network const *network, ushort min_port, ushort max_port, ::std::string_view username_fragment, ::std::string_view password, ::webrtc::FieldTrialsView const *field_trials, bool shared_socket)
MCAPI void OnReadPacket(::rtc::ReceivedPacket const &packet, ::cricket::ProtocolType proto)
MCAPI::rtc::ProxyInfo const & $proxy()
MCAPI bool $ParseStunUsername(::cricket::StunMessage const *stun_msg, ::std::string *local_ufrag, ::std::string *remote_ufrag) const
MCAPI void OnNetworkTypeChanged(::rtc::Network const *network)
MCAPI void $DestroyConnection(::cricket::Connection *conn)
MCAPI void FinishAddingAddress(::cricket::Candidate const &c, bool is_final)
MCAPI void SetIceParameters(int component, ::std::string_view username_fragment, ::std::string_view password)
MCAPI void $set_generation(uint generation)
MCAPI::std::string $CreateStunUsername(::std::string_view remote_username) const
MCAPI void KeepAliveUntilPruned()
MCAPI void set_content_name(::std::string_view content_name)
MCAPI void $EnablePortPackets()
MCAPI void $AddPrflxCandidate(::cricket::Candidate const &local)
MCAPI void SendUnknownAttributesErrorResponse(::cricket::StunMessage *message, ::rtc::SocketAddress const &addr, ::std::vector< ushort > const &unknown_types)
MCAPI void CopyPortInformationToPacketInfo(::rtc::PacketInfo *info) const
MCAPI uint64 $IceTiebreaker() const
MCAPI::webrtc::IceCandidateType $Type() const
MCAPI void $GetStunStats(::std::optional<::cricket::StunStats > *stats)
MCAPI::cricket::IceRole $GetIceRole() const
MCAPI::cricket::Connection * $GetConnection(::rtc::SocketAddress const &remote_addr)
MCAPI::std::string const & $content_name() const
MCAPI bool OnConnectionDestroyed(::cricket::Connection *conn)
MCAPI::std::string const & username_fragment() const
MCAPI short $network_cost() const
MCAPI void * $ctor(::webrtc::TaskQueueBase *thread, ::webrtc::IceCandidateType type, ::rtc::PacketSocketFactory *factory, ::rtc::Network const *network, ::std::string_view username_fragment, ::std::string_view password, ::webrtc::FieldTrialsView const *field_trials)
MCAPI::std::string const & $user_agent()
MCAPI bool $SharedSocket() const
MCAPI::webrtc::TaskQueueBase * $thread()
MCAPI bool IsCompatibleAddress(::rtc::SocketAddress const &addr)
MCAPI void DestroyAllConnections()
MCAPI void $SetIceRole(::cricket::IceRole role)
MCAPI ::std::vector<::cricket::Candidate > const & $Candidates() const
MCAPI void $DestroyConnectionAsync(::cricket::Connection *conn)
MCAPI void $UpdateNetworkCost()
MCAPI void AddOrReplaceConnection(::cricket::Connection *conn)
MCAPI void PostDestroyIfDead(bool delayed)
MCAPI bool MaybeObfuscateAddress(::cricket::Candidate const &c, bool is_final)
MCAPI void SendPortDestroyed(::cricket::Port *port)
static MCAPI void ** $vftableForHasSlots()
MCAPI bool $send_retransmit_count_attribute() const
MCAPI void $SubscribePortDestroyed(::std::function< void(::cricket::PortInterface *)> callback)
MCAPI void CancelPendingTasks()
MCAPI::rtc::DiffServCodePoint $StunDscpValue() const
MCAPI::rtc::PacketSocketFactory * $socket_factory() const
MCAPI ::rtc::WeakPtr<::cricket::Port > NewWeakPtr()
MCAPI Port(::webrtc::TaskQueueBase *thread, ::webrtc::IceCandidateType type, ::rtc::PacketSocketFactory *factory, ::rtc::Network const *network, ::std::string_view username_fragment, ::std::string_view password, ::webrtc::FieldTrialsView const *field_trials)
MCAPI void $HandleConnectionDestroyed(::cricket::Connection *conn)
MCAPI bool $MaybeIceRoleConflict(::rtc::SocketAddress const &addr, ::cricket::IceMessage *stun_msg, ::std::string_view remote_ufrag)
MCAPI::rtc::Network const * $Network() const
MCAPI uint $generation() const
MCAPI void AddAddress(::rtc::SocketAddress const &address, ::rtc::SocketAddress const &base_address, ::rtc::SocketAddress const &related_address, ::std::string_view protocol, ::std::string_view relay_protocol, ::std::string_view tcptype, ::webrtc::IceCandidateType type, uint type_preference, uint relay_preference, ::std::string_view url, bool is_final)
MCAPI void OnReadyToSend()
MCAPI void DestroyIfDead()
MCAPI void * $ctor(::webrtc::TaskQueueBase *thread, ::webrtc::IceCandidateType type, ::rtc::PacketSocketFactory *factory, ::rtc::Network const *network, ushort min_port, ushort max_port, ::std::string_view username_fragment, ::std::string_view password, ::webrtc::FieldTrialsView const *field_trials, bool shared_socket)
MCAPI void $SetIceTiebreaker(uint64 tiebreaker)
Definition StunMessage.h:23
Definition AsyncPacketSocket.h:20
Definition PacketSocketFactory.h:17
Definition ReceivedPacket.h:16
Definition SocketAddress.h:12
Definition FieldTrialsView.h:7
Definition TaskQueueBase.h:16
Definition PacketInfo.h:7
Definition SentPacket.h:12