LeviLamina
Loading...
Searching...
No Matches
PortInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/cricket/IceRole.h"
7#include "mc/external/cricket/ProtocolType.h"
8#include "mc/external/rtc/DiffServCodePoint.h"
9#include "mc/external/rtc/Socket.h"
10#include "mc/external/webrtc/IceCandidateType.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace cricket { class Candidate; }
15namespace cricket { class Connection; }
16namespace cricket { class IceMessage; }
17namespace cricket { class StunMessage; }
18namespace cricket { class StunStats; }
19namespace rtc { class Network; }
20namespace rtc { class PacketSocketFactory; }
21namespace rtc { class SocketAddress; }
22namespace rtc { struct PacketOptions; }
23namespace rtc { struct ProxyInfo; }
24namespace webrtc { class TaskQueueBase; }
25// clang-format on
26
27namespace cricket {
28
29class PortInterface {
30public:
31 // PortInterface inner types define
32 enum class CandidateOrigin : int {
33 ThisPort = 0,
34 OtherPort = 1,
35 Message = 2,
36 };
37
38public:
39 // member variables
40 // NOLINTBEGIN
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 PortInterface& operator=(PortInterface const&);
50 PortInterface(PortInterface const&);
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~PortInterface();
56
57 virtual ::webrtc::IceCandidateType Type() const = 0;
58
59 virtual ::rtc::Network const* Network() const = 0;
60
61 virtual void SetIceRole(::cricket::IceRole) = 0;
62
63 virtual ::cricket::IceRole GetIceRole() const = 0;
64
65 virtual void SetIceTiebreaker(uint64) = 0;
66
67 virtual uint64 IceTiebreaker() const = 0;
68
69 virtual bool SharedSocket() const = 0;
70
71 virtual bool SupportsProtocol(::std::string_view) const = 0;
72
73 virtual void PrepareAddress() = 0;
74
75 virtual ::cricket::Connection* GetConnection(::rtc::SocketAddress const&) = 0;
76
77 virtual ::cricket::Connection*
78 CreateConnection(::cricket::Candidate const&, ::cricket::PortInterface::CandidateOrigin) = 0;
79
80 virtual int SetOption(::rtc::Socket::Option, int) = 0;
81
82 virtual int GetOption(::rtc::Socket::Option opt, int* value) = 0;
83
84 virtual int GetError() = 0;
85
86 virtual ::cricket::ProtocolType GetProtocol() const = 0;
87
88 virtual ::std::vector<::cricket::Candidate> const& Candidates() const = 0;
89
90 virtual int SendTo(void const*, uint64, ::rtc::SocketAddress const&, ::rtc::PacketOptions const&, bool) = 0;
91
92 virtual void
93 SendBindingErrorResponse(::cricket::StunMessage*, ::rtc::SocketAddress const&, int, ::std::string_view) = 0;
94
95 virtual void SubscribePortDestroyed(::std::function<void(::cricket::PortInterface*)>) = 0;
96
97 virtual void EnablePortPackets() = 0;
98
99 virtual ::std::string ToString() const = 0;
100
101 virtual void GetStunStats(::std::optional<::cricket::StunStats>*) = 0;
102
103 virtual void DestroyConnection(::cricket::Connection*) = 0;
104
105 virtual void DestroyConnectionAsync(::cricket::Connection*) = 0;
106
107 virtual ::webrtc::TaskQueueBase* thread() = 0;
108
109 virtual ::rtc::PacketSocketFactory* socket_factory() const = 0;
110
111 virtual ::std::string const& user_agent() = 0;
112
113 virtual ::rtc::ProxyInfo const& proxy() = 0;
114
115 virtual uint generation() const = 0;
116
117 virtual void set_generation(uint generation) = 0;
118
119 virtual bool send_retransmit_count_attribute() const = 0;
120
121 virtual ::std::string const& content_name() const = 0;
122
123 virtual void AddPrflxCandidate(::cricket::Candidate const&) = 0;
124
125 virtual void UpdateNetworkCost() = 0;
126
127 virtual ::rtc::DiffServCodePoint StunDscpValue() const = 0;
128
129 virtual bool GetStunMessage(
130 char const*,
131 uint64,
133 ::std::unique_ptr<::cricket::IceMessage>*,
134 ::std::string*
135 ) = 0;
136
137 virtual bool ParseStunUsername(::cricket::StunMessage const*, ::std::string*, ::std::string*) const = 0;
138
139 virtual ::std::string CreateStunUsername(::std::string_view) const = 0;
140
141 virtual bool MaybeIceRoleConflict(::rtc::SocketAddress const&, ::cricket::IceMessage*, ::std::string_view) = 0;
142
143 virtual short network_cost() const = 0;
144 // NOLINTEND
145
146public:
147 // member functions
148 // NOLINTBEGIN
150 // NOLINTEND
151
152public:
153 // constructor thunks
154 // NOLINTBEGIN
155 MCNAPI void* $ctor();
156 // NOLINTEND
157
158public:
159 // destructor thunk
160 // NOLINTBEGIN
161 MCNAPI void $dtor();
162 // NOLINTEND
163
164public:
165 // virtual function thunks
166 // NOLINTBEGIN
167
168 // NOLINTEND
169
170public:
171 // vftables
172 // NOLINTBEGIN
173 MCNAPI static void** $vftable();
174 // NOLINTEND
175};
176
177} // namespace cricket
Definition Candidate.h:15
Definition Connection.h:33
Definition IceMessage.h:11
Definition PortInterface.h:29
static MCAPI void ** $vftable()
MCAPI void * $ctor()
Definition StunMessage.h:23
Definition StunStats.h:7
Definition Network.h:18
Definition PacketSocketFactory.h:17
Definition SocketAddress.h:12
Definition TaskQueueBase.h:16
Definition Alias.h:14
Definition PacketOptions.h:10
Definition ProxyInfo.h:7