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/rtc/SocketAddress.h"
7#include "mc/external/sigslot/has_slots.h"
8#include "mc/external/sigslot/single_threaded.h"
9#include "mc/external/webrtc/PortPrunePolicy.h"
10#include "mc/external/webrtc/VpnPreference.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace cricket { class Candidate; }
15namespace cricket { class CandidateStats; }
16namespace cricket { class PortAllocatorSession; }
17namespace cricket { struct IceParameters; }
18namespace cricket { struct RelayServerConfig; }
19namespace rtc { class NetworkMask; }
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) = 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*
76 CreateSessionInternal(::std::string_view, int, ::std::string_view, ::std::string_view) = 0;
77
78 virtual bool MdnsObfuscationEnabled() const;
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCNAPI ::std::unique_ptr<::cricket::PortAllocatorSession> CreateSession(
85 ::std::string_view content_name,
86 int component,
87 ::std::string_view ice_ufrag,
88 ::std::string_view ice_pwd
89 );
90
91 MCNAPI void DiscardCandidatePool();
92
93 MCNAPI ::std::_Vector_const_iterator<
94 ::std::_Vector_val<::std::_Simple_types<::std::unique_ptr<::cricket::PortAllocatorSession>>>>
95 FindPooledSession(::cricket::IceParameters const* ice_credentials) const;
96
97 MCNAPI ::std::vector<::cricket::IceParameters> GetPooledIceCredentials();
98
99 MCNAPI PortAllocator();
100
101 MCNAPI ::cricket::Candidate SanitizeCandidate(::cricket::Candidate const& c) const;
102
103 MCNAPI void SetCandidateFilter(uint filter);
104
105 MCNAPI bool SetConfiguration(
106 ::std::set<::rtc::SocketAddress> const& stun_servers,
107 ::std::vector<::cricket::RelayServerConfig> const& turn_servers,
108 ::std::vector<::std::pair<::rtc::SocketAddress, ::rtc::SocketAddress>> const& mapped_ports,
109 int candidate_pool_size,
110 ::webrtc::PortPrunePolicy turn_port_prune_policy,
111 ::webrtc::TurnCustomizer* turn_customizer,
112 ::std::optional<int> const& stun_candidate_keepalive_interval
113 );
114
115 MCNAPI ::std::unique_ptr<::cricket::PortAllocatorSession> TakePooledSession(
116 ::std::string_view content_name,
117 int component,
118 ::std::string_view ice_ufrag,
119 ::std::string_view ice_pwd
120 );
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCNAPI void* $ctor();
127 // NOLINTEND
128
129public:
130 // destructor thunk
131 // NOLINTBEGIN
132 MCNAPI void $dtor();
133 // NOLINTEND
134
135public:
136 // virtual function thunks
137 // NOLINTBEGIN
138 MCNAPI void $Initialize();
139
141
142 MCNAPI void $SetVpnPreference(::webrtc::VpnPreference preference);
143
144 MCNAPI void $SetVpnList(::std::vector<::rtc::NetworkMask> const& vpn_list);
145
146 MCNAPI void $GetCandidateStatsFromPooledSessions(::std::vector<::cricket::CandidateStats>* candidate_stats_list);
147
148 MCNAPI bool $MdnsObfuscationEnabled() const;
149
150
151 // NOLINTEND
152
153public:
154 // vftables
155 // NOLINTBEGIN
156 MCNAPI static void** $vftable();
157 // NOLINTEND
158};
159
160} // 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 has_slots.h:8
Definition TurnCustomizer.h:13
Definition IceParameters.h:12
Definition RelayServerConfig.h:15
Definition Alias.h:14