LeviLamina
Loading...
Searching...
No Matches
PortAllocator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/sigslot/has_slots.h"
7#include "mc/external/sigslot/single_threaded.h"
8#include "mc/external/webrtc/PortPrunePolicy.h"
9#include "mc/external/webrtc/VpnPreference.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace webrtc { class Candidate; }
14namespace webrtc { class CandidateStats; }
15namespace webrtc { class NetworkMask; }
16namespace webrtc { class PortAllocatorSession; }
17namespace webrtc { class SocketAddress; }
18namespace webrtc { class StaticStunServer; }
19namespace webrtc { class TurnCustomizer; }
20namespace webrtc { struct IceParameters; }
21namespace webrtc { struct RelayServerConfig; }
22// clang-format on
23
24namespace webrtc {
25
26class PortAllocator : public ::sigslot::has_slots<::sigslot::single_threaded> {
27public:
28 // member variables
29 // NOLINTBEGIN
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 PortAllocator& operator=(PortAllocator const&);
57 PortAllocator(PortAllocator const&);
58
59public:
60 // virtual functions
61 // NOLINTBEGIN
62 virtual ~PortAllocator() /*override*/;
63
64 virtual void Initialize();
65
66 virtual void set_restrict_ice_credentials_change(bool value);
67
68 virtual void SetNetworkIgnoreMask(int network_ignore_mask) = 0;
69
70 virtual void SetVpnPreference(::webrtc::VpnPreference preference);
71
72 virtual void SetVpnList(::std::vector<::webrtc::NetworkMask> const& vpn_list);
73
74 virtual void GetCandidateStatsFromPooledSessions(::std::vector<::webrtc::CandidateStats>* candidate_stats_list);
75
76 virtual ::webrtc::PortAllocatorSession* CreateSessionInternal(
77 ::std::string_view content_name,
78 int component,
79 ::std::string_view ice_ufrag,
80 ::std::string_view ice_pwd
81 ) = 0;
82
83 virtual bool MdnsObfuscationEnabled() const;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCNAPI ::std::unique_ptr<::webrtc::PortAllocatorSession> CreateSession(
90 ::std::string_view content_name,
91 int component,
92 ::std::string_view ice_ufrag,
93 ::std::string_view ice_pwd
94 );
95
96 MCNAPI void DiscardCandidatePool();
97
98 MCNAPI ::std::_Vector_const_iterator<
99 ::std::_Vector_val<::std::_Simple_types<::std::unique_ptr<::webrtc::PortAllocatorSession>>>>
100 FindPooledSession(::webrtc::IceParameters const* ice_credentials) const;
101
102 MCNAPI ::std::vector<::webrtc::IceParameters> GetPooledIceCredentials();
103
105
106 MCNAPI ::webrtc::Candidate SanitizeCandidate(::webrtc::Candidate const& c) const;
107
108 MCNAPI void SetCandidateFilter(uint filter);
109
110 MCNAPI bool SetConfiguration(
111 ::std::set<::webrtc::SocketAddress> const& stun_servers,
112 ::std::vector<::webrtc::RelayServerConfig> const& turn_servers,
113 ::std::vector<::std::shared_ptr<::webrtc::StaticStunServer const>> const& static_stun_servers,
114 int candidate_pool_size,
115 ::webrtc::PortPrunePolicy turn_port_prune_policy,
116 ::webrtc::TurnCustomizer* turn_customizer,
117 ::std::optional<int> const& stun_candidate_keepalive_interval
118 );
119
120 MCNAPI ::std::unique_ptr<::webrtc::PortAllocatorSession> TakePooledSession(
121 ::std::string_view content_name,
122 int component,
123 ::std::string_view ice_ufrag,
124 ::std::string_view ice_pwd
125 );
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
131 MCNAPI void* $ctor();
132 // NOLINTEND
133
134public:
135 // destructor thunk
136 // NOLINTBEGIN
137 MCNAPI void $dtor();
138 // NOLINTEND
139
140public:
141 // virtual function thunks
142 // NOLINTBEGIN
143 MCNAPI void $Initialize();
144
146
147 MCNAPI void $SetVpnPreference(::webrtc::VpnPreference preference);
148
149 MCNAPI void $SetVpnList(::std::vector<::webrtc::NetworkMask> const& vpn_list);
150
151 MCNAPI void $GetCandidateStatsFromPooledSessions(::std::vector<::webrtc::CandidateStats>* candidate_stats_list);
152
153 MCNAPI bool $MdnsObfuscationEnabled() const;
154
155
156 // NOLINTEND
157
158public:
159 // vftables
160 // NOLINTBEGIN
161 MCNAPI static void** $vftable();
162 // NOLINTEND
163};
164
165} // namespace webrtc
Definition has_slots.h:8
Definition CandidateStats.h:7
Definition Candidate.h:15
Definition NetworkMask.h:7
Definition PortAllocatorSession.h:18
MCAPI void $Initialize()
MCAPI void $SetVpnList(::std::vector<::webrtc::NetworkMask > const &vpn_list)
static MCAPI void ** $vftable()
MCAPI bool SetConfiguration(::std::set<::webrtc::SocketAddress > const &stun_servers, ::std::vector<::webrtc::RelayServerConfig > const &turn_servers, ::std::vector<::std::shared_ptr<::webrtc::StaticStunServer const > > const &static_stun_servers, int candidate_pool_size, ::webrtc::PortPrunePolicy turn_port_prune_policy, ::webrtc::TurnCustomizer *turn_customizer, ::std::optional< int > const &stun_candidate_keepalive_interval)
MCAPI void DiscardCandidatePool()
MCAPI ::std::_Vector_const_iterator< ::std::_Vector_val<::std::_Simple_types<::std::unique_ptr<::webrtc::PortAllocatorSession > > > > FindPooledSession(::webrtc::IceParameters const *ice_credentials) const
MCAPI void SetCandidateFilter(uint filter)
MCAPI void * $ctor()
MCAPI void $set_restrict_ice_credentials_change(bool value)
MCAPI ::std::unique_ptr<::webrtc::PortAllocatorSession > CreateSession(::std::string_view content_name, int component, ::std::string_view ice_ufrag, ::std::string_view ice_pwd)
MCAPI void $GetCandidateStatsFromPooledSessions(::std::vector<::webrtc::CandidateStats > *candidate_stats_list)
MCAPI ::std::unique_ptr<::webrtc::PortAllocatorSession > TakePooledSession(::std::string_view content_name, int component, ::std::string_view ice_ufrag, ::std::string_view ice_pwd)
MCAPI bool $MdnsObfuscationEnabled() const
MCAPI::webrtc::Candidate SanitizeCandidate(::webrtc::Candidate const &c) const
MCAPI void $SetVpnPreference(::webrtc::VpnPreference preference)
MCAPI ::std::vector<::webrtc::IceParameters > GetPooledIceCredentials()
Definition SocketAddress.h:15
Definition StaticStunServer.h:12
Definition TurnCustomizer.h:13
Definition Alias.h:14
Definition IceParameters.h:12
Definition RelayServerConfig.h:15