LeviLamina
Loading...
Searching...
No Matches
Port.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/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"
14
15// auto generated forward declare list
16// clang-format off
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; }
32// clang-format on
33
34namespace cricket {
35
36class Port : public ::cricket::PortInterface, public ::sigslot::has_slots<::sigslot::single_threaded> {
37public:
38 // Port inner types define
39 enum class State : int {
40 Init = 0,
42 Pruned = 2,
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
80 // NOLINTEND
81
82public:
83 // prevent constructor by default
84 Port& operator=(Port const&);
85 Port(Port const&);
86 Port();
87
88public:
89 // virtual functions
90 // NOLINTBEGIN
91 virtual ~Port() /*override*/;
92
93 virtual ::webrtc::IceCandidateType Type() const /*override*/;
94
95 virtual ::rtc::Network const* Network() const /*override*/;
96
97 virtual ::cricket::IceRole GetIceRole() const /*override*/;
98
99 virtual void SetIceRole(::cricket::IceRole role) /*override*/;
100
101 virtual void SetIceTiebreaker(uint64 tiebreaker) /*override*/;
102
103 virtual uint64 IceTiebreaker() const /*override*/;
104
105 virtual bool SharedSocket() const /*override*/;
106
107 virtual ::webrtc::TaskQueueBase* thread() /*override*/;
108
109 virtual ::rtc::PacketSocketFactory* socket_factory() const /*override*/;
110
111 virtual ::std::string const& content_name() const /*override*/;
112
113 virtual bool send_retransmit_count_attribute() const /*override*/;
114
115 virtual uint generation() const /*override*/;
116
117 virtual void set_generation(uint generation) /*override*/;
118
119 virtual ::std::vector<::cricket::Candidate> const& Candidates() const /*override*/;
120
121 virtual void SubscribePortDestroyed(::std::function<void(::cricket::PortInterface*)> callback) /*override*/;
122
123 virtual ::cricket::Connection* GetConnection(::rtc::SocketAddress const& remote_addr) /*override*/;
124
125 virtual void DestroyConnection(::cricket::Connection* conn) /*override*/;
126
127 virtual void DestroyConnectionAsync(::cricket::Connection* conn) /*override*/;
128
129 virtual bool HandleIncomingPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet);
130
131 virtual bool CanHandleIncomingPacketsFrom(::rtc::SocketAddress const&) const;
132
133 virtual void SendBindingErrorResponse(
134 ::cricket::StunMessage* message,
135 ::rtc::SocketAddress const& addr,
136 int error_code,
137 ::std::string_view reason
138 ) /*override*/;
139
140 virtual ::std::string const& user_agent() /*override*/;
141
142 virtual ::rtc::ProxyInfo const& proxy() /*override*/;
143
144 virtual void EnablePortPackets() /*override*/;
145
146 virtual ::std::string ToString() const /*override*/;
147
148 virtual bool ParseStunUsername(
149 ::cricket::StunMessage const* stun_msg,
150 ::std::string* local_ufrag,
151 ::std::string* remote_ufrag
152 ) const /*override*/;
153
154 virtual ::std::string CreateStunUsername(::std::string_view remote_username) const /*override*/;
155
156 virtual bool MaybeIceRoleConflict(
157 ::rtc::SocketAddress const& addr,
158 ::cricket::IceMessage* stun_msg,
159 ::std::string_view remote_ufrag
160 ) /*override*/;
161
162 virtual void OnSentPacket(::rtc::AsyncPacketSocket*, ::rtc::SentPacket const&) = 0;
163
164 virtual void AddPrflxCandidate(::cricket::Candidate const& local) /*override*/;
165
166 virtual short network_cost() const /*override*/;
167
168 virtual void GetStunStats(::std::optional<::cricket::StunStats>* stats) /*override*/;
169
170 virtual void UpdateNetworkCost() /*override*/;
171
172 virtual void PostAddAddress(bool is_final);
173
174 virtual bool GetStunMessage(
175 char const* data,
176 uint64 size,
177 ::rtc::SocketAddress const& addr,
178 ::std::unique_ptr<::cricket::IceMessage>* out_msg,
179 ::std::string* out_username
180 ) /*override*/;
181
182 virtual ::rtc::DiffServCodePoint StunDscpValue() const /*override*/;
183
184 virtual void HandleConnectionDestroyed(::cricket::Connection* conn);
185 // NOLINTEND
186
187public:
188 // member functions
189 // NOLINTBEGIN
190 MCNAPI void AddAddress(
191 ::rtc::SocketAddress const& address,
192 ::rtc::SocketAddress const& base_address,
193 ::rtc::SocketAddress const& related_address,
194 ::std::string_view protocol,
195 ::std::string_view relay_protocol,
196 ::std::string_view tcptype,
197 ::webrtc::IceCandidateType type,
198 uint type_preference,
199 uint relay_preference,
200 ::std::string_view url,
201 bool is_final
202 );
203
205
207
209
210 MCNAPI void DestroyConnectionInternal(::cricket::Connection* conn, bool async);
211
212 MCNAPI void FinishAddingAddress(::cricket::Candidate const& c, bool is_final);
213
215
216 MCNAPI void KeepAliveUntilPruned();
217
218 MCNAPI bool MaybeObfuscateAddress(::cricket::Candidate const& c, bool is_final);
219
220 MCNAPI ::rtc::WeakPtr<::cricket::Port> NewWeakPtr();
221
222 MCNAPI void OnNetworkTypeChanged(::rtc::Network const* network);
223
224 MCNAPI void OnReadPacket(::rtc::ReceivedPacket const& packet, ::cricket::ProtocolType proto);
225
226 MCNAPI void OnReadyToSend();
227
228 MCNAPI Port(
230 ::webrtc::IceCandidateType type,
232 ::rtc::Network const* network,
233 ::std::string_view username_fragment,
234 ::std::string_view password,
235 ::webrtc::FieldTrialsView const* field_trials
236 );
237
238 MCNAPI Port(
240 ::webrtc::IceCandidateType type,
242 ::rtc::Network const* network,
243 ushort min_port,
244 ushort max_port,
245 ::std::string_view username_fragment,
246 ::std::string_view password,
247 ::webrtc::FieldTrialsView const* field_trials,
248 bool shared_socket
249 );
250
251 MCNAPI void PostDestroyIfDead(bool delayed);
252
253 MCNAPI void Prune();
254
256 ::cricket::StunMessage* message,
257 ::rtc::SocketAddress const& addr,
258 ::std::vector<ushort> const& unknown_types
259 );
260
261 MCNAPI void SetIceParameters(int component, ::std::string_view username_fragment, ::std::string_view password);
262
263 MCNAPI void set_content_name(::std::string_view content_name);
264 // NOLINTEND
265
266public:
267 // constructor thunks
268 // NOLINTBEGIN
269 MCNAPI void* $ctor(
271 ::webrtc::IceCandidateType type,
273 ::rtc::Network const* network,
274 ::std::string_view username_fragment,
275 ::std::string_view password,
276 ::webrtc::FieldTrialsView const* field_trials
277 );
278
279 MCNAPI void* $ctor(
281 ::webrtc::IceCandidateType type,
283 ::rtc::Network const* network,
284 ushort min_port,
285 ushort max_port,
286 ::std::string_view username_fragment,
287 ::std::string_view password,
288 ::webrtc::FieldTrialsView const* field_trials,
289 bool shared_socket
290 );
291 // NOLINTEND
292
293public:
294 // destructor thunk
295 // NOLINTBEGIN
296 MCNAPI void $dtor();
297 // NOLINTEND
298
299public:
300 // virtual function thunks
301 // NOLINTBEGIN
302 MCNAPI ::webrtc::IceCandidateType $Type() const;
303
304 MCNAPI ::rtc::Network const* $Network() const;
305
306 MCNAPI ::cricket::IceRole $GetIceRole() const;
307
308 MCNAPI void $SetIceRole(::cricket::IceRole role);
309
310 MCNAPI void $SetIceTiebreaker(uint64 tiebreaker);
311
312 MCNAPI uint64 $IceTiebreaker() const;
313
314 MCNAPI bool $SharedSocket() const;
315
316 MCNAPI ::webrtc::TaskQueueBase* $thread();
317
318 MCNAPI ::rtc::PacketSocketFactory* $socket_factory() const;
319
320 MCNAPI ::std::string const& $content_name() const;
321
323
324 MCNAPI uint $generation() const;
325
326 MCNAPI void $set_generation(uint generation);
327
328 MCNAPI ::std::vector<::cricket::Candidate> const& $Candidates() const;
329
330 MCNAPI void $SubscribePortDestroyed(::std::function<void(::cricket::PortInterface*)> callback);
331
332 MCNAPI ::cricket::Connection* $GetConnection(::rtc::SocketAddress const& remote_addr);
333
335
337
339
341
343 ::cricket::StunMessage* message,
344 ::rtc::SocketAddress const& addr,
345 int error_code,
346 ::std::string_view reason
347 );
348
349 MCNAPI ::std::string const& $user_agent();
350
351 MCNAPI ::rtc::ProxyInfo const& $proxy();
352
353 MCNAPI void $EnablePortPackets();
354
355 MCNAPI ::std::string $ToString() const;
356
358 ::cricket::StunMessage const* stun_msg,
359 ::std::string* local_ufrag,
360 ::std::string* remote_ufrag
361 ) const;
362
363 MCNAPI ::std::string $CreateStunUsername(::std::string_view remote_username) const;
364
366 ::rtc::SocketAddress const& addr,
367 ::cricket::IceMessage* stun_msg,
368 ::std::string_view remote_ufrag
369 );
370
371 MCNAPI void $AddPrflxCandidate(::cricket::Candidate const& local);
372
373 MCNAPI short $network_cost() const;
374
375 MCNAPI void $GetStunStats(::std::optional<::cricket::StunStats>* stats);
376
377 MCNAPI void $UpdateNetworkCost();
378
379 MCNAPI void $PostAddAddress(bool is_final);
380
381 MCNAPI bool $GetStunMessage(
382 char const* data,
383 uint64 size,
384 ::rtc::SocketAddress const& addr,
385 ::std::unique_ptr<::cricket::IceMessage>* out_msg,
386 ::std::string* out_username
387 );
388
389 MCNAPI ::rtc::DiffServCodePoint $StunDscpValue() const;
390
392
393
394 // NOLINTEND
395
396public:
397 // vftables
398 // NOLINTBEGIN
399 MCNAPI static void** $vftableForHasSlots();
400
401 MCNAPI static void** $vftableForPortInterface();
402 // NOLINTEND
403};
404
405} // namespace cricket
Definition Candidate.h:15
Definition Connection.h:33
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 $dtor()
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 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)
static MCAPI void ** $vftableForHasSlots()
MCAPI bool $send_retransmit_count_attribute() const
MCAPI void $SubscribePortDestroyed(::std::function< void(::cricket::PortInterface *)> callback)
MCAPI::rtc::DiffServCodePoint $StunDscpValue() const
MCAPI::rtc::PacketSocketFactory * $socket_factory() const
MCAPI void Prune()
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 * $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 StunStats.h:7
Definition AsyncPacketSocket.h:20
Definition Network.h:18
Definition PacketSocketFactory.h:17
Definition ReceivedPacket.h:16
Definition SocketAddress.h:12
Definition has_slots.h:8
Definition FieldTrialsView.h:7
Definition TaskQueueBase.h:16
Definition Alias.h:14
Definition PacketInfo.h:7
Definition ProxyInfo.h:7
Definition SentPacket.h:12