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