LeviLamina
Loading...
Searching...
No Matches
JsepTransportController.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/rtc/SSLRole.h"
8#include "mc/external/sigslot/has_slots.h"
9#include "mc/external/sigslot/single_threaded.h"
10#include "mc/external/webrtc/SdpType.h"
11#include "mc/external/webrtc/scoped_refptr.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace cricket { class Candidate; }
16namespace cricket { class ContentGroup; }
17namespace cricket { class ContentInfo; }
18namespace cricket { class DtlsTransportInternal; }
19namespace cricket { class IceTransportInternal; }
20namespace cricket { class PortAllocator; }
21namespace cricket { class SessionDescription; }
22namespace cricket { struct IceConfig; }
23namespace cricket { struct JsepTransportDescription; }
24namespace cricket { struct TransportInfo; }
25namespace cricket { struct TransportStats; }
26namespace rtc { class PacketTransportInternal; }
27namespace rtc { class RTCCertificate; }
28namespace rtc { class SSLCertChain; }
29namespace rtc { class Thread; }
30namespace webrtc { class AsyncDnsResolverFactoryInterface; }
31namespace webrtc { class DataChannelTransportInterface; }
32namespace webrtc { class DtlsTransport; }
33namespace webrtc { class Environment; }
34namespace webrtc { class IceTransportInterface; }
35namespace webrtc { class RTCError; }
36namespace webrtc { class RtpTransportInternal; }
37namespace webrtc { class SctpTransport; }
38// clang-format on
39
40namespace webrtc {
41
42class JsepTransportController : public ::sigslot::has_slots<::sigslot::single_threaded> {
43public:
44 // JsepTransportController inner types declare
45 // clang-format off
46 class Observer;
47 struct Config;
48 // clang-format on
49
50 // JsepTransportController inner types define
51 class Observer {
52 public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~Observer();
56
57 virtual bool OnTransportChanged(
58 ::std::string const&,
62 ) = 0;
63 // NOLINTEND
64
65 public:
66 // destructor thunk
67 // NOLINTBEGIN
68 MCNAPI void $dtor();
69 // NOLINTEND
70
71 public:
72 // virtual function thunks
73 // NOLINTBEGIN
74
75 // NOLINTEND
76
77 public:
78 // vftables
79 // NOLINTBEGIN
80 MCNAPI static void** $vftable();
81 // NOLINTEND
82 };
83
84 struct Config {
85 public:
86 // member variables
87 // NOLINTBEGIN
104 // NOLINTEND
105
106 public:
107 // prevent constructor by default
108 Config& operator=(Config const&);
109 Config(Config const&);
110 Config();
111
112 public:
113 // member functions
114 // NOLINTBEGIN
115 MCNAPI ~Config();
116 // NOLINTEND
117
118 public:
119 // destructor thunk
120 // NOLINTBEGIN
121 MCNAPI void $dtor();
122 // NOLINTEND
123 };
124
125public:
126 // member variables
127 // NOLINTBEGIN
153 // NOLINTEND
154
155public:
156 // prevent constructor by default
157 JsepTransportController& operator=(JsepTransportController const&);
158 JsepTransportController(JsepTransportController const&);
159 JsepTransportController();
160
161public:
162 // virtual functions
163 // NOLINTBEGIN
164 virtual ~JsepTransportController() /*override*/ = default;
165 // NOLINTEND
166
167public:
168 // member functions
169 // NOLINTBEGIN
170 MCNAPI ::webrtc::RTCError
171 AddRemoteCandidates(::std::string const& transport_name, ::std::vector<::cricket::Candidate> const& candidates);
172
173 MCNAPI ::webrtc::RTCError ApplyDescription_n(
174 bool local,
175 ::webrtc::SdpType type,
176 ::cricket::SessionDescription const* local_desc,
177 ::cricket::SessionDescription const* remote_desc
178 );
179
180 MCNAPI ::std::unique_ptr<::cricket::DtlsTransportInternal>
182
183 MCNAPI ::webrtc::scoped_refptr<::webrtc::IceTransportInterface>
184 CreateIceTransport(::std::string const& transport_name, bool rtcp);
185
186 MCNAPI ::cricket::JsepTransportDescription CreateJsepTransportDescription(
187 ::cricket::ContentInfo const& content_info,
188 ::cricket::TransportInfo const& transport_info,
189 ::std::vector<int> const& encrypted_extension_ids,
190 int rtp_abs_sendtime_extn_id
191 );
192
193 MCNAPI ::std::vector<::cricket::DtlsTransportInternal*> GetActiveDtlsTransports();
194
195 MCNAPI ::webrtc::DataChannelTransportInterface* GetDataChannelTransport(::std::string const& mid) const;
196
197 MCNAPI ::std::optional<::rtc::SSLRole> GetDtlsRole(::std::string const& mid) const;
198
199 MCNAPI ::cricket::DtlsTransportInternal* GetDtlsTransport(::std::string const& mid);
200
201 MCNAPI ::std::vector<::cricket::DtlsTransportInternal*> GetDtlsTransports();
202
203 MCNAPI ::std::vector<int> GetEncryptedHeaderExtensionIds(::cricket::ContentInfo const& content_info);
204
205 MCNAPI ::webrtc::scoped_refptr<::rtc::RTCCertificate>
206 GetLocalCertificate(::std::string const& transport_name) const;
207
208 MCNAPI ::std::unique_ptr<::rtc::SSLCertChain> GetRemoteSSLCertChain(::std::string const& transport_name) const;
209
210 MCNAPI ::webrtc::RtpTransportInternal* GetRtpTransport(::std::string_view mid) const;
211
212 MCNAPI ::webrtc::scoped_refptr<::webrtc::SctpTransport> GetSctpTransport(::std::string const& mid) const;
213
214 MCNAPI bool GetStats(::std::string const& transport_name, ::cricket::TransportStats* stats);
215
217 ::webrtc::Environment const& env,
218 ::rtc::Thread* network_thread,
219 ::cricket::PortAllocator* port_allocator,
220 ::webrtc::AsyncDnsResolverFactoryInterface* async_dns_resolver_factory,
222 );
223
224 MCNAPI ::webrtc::scoped_refptr<::webrtc::DtlsTransport> LookupDtlsTransportByMid(::std::string const& mid);
225
226 MCNAPI ::webrtc::RTCError MaybeCreateJsepTransport(
227 bool local,
228 ::cricket::ContentInfo const& content_info,
229 ::cricket::SessionDescription const& description
230 );
231
232 MCNAPI void MaybeStartGathering();
233
234 MCNAPI ::std::map<::cricket::ContentGroup const*, ::std::vector<int>>
236
237 MCNAPI bool NeedsIceRestart(::std::string const& transport_name) const;
238
239 MCNAPI void
241
243
245
247
249
250 MCNAPI ::webrtc::RTCError RemoveRemoteCandidates(::std::vector<::cricket::Candidate> const& candidates);
251
252 MCNAPI ::webrtc::RTCError RollbackTransports();
253
254 MCNAPI void SetActiveResetSrtpParams(bool active_reset_srtp_params);
255
256 MCNAPI void SetIceConfig(::cricket::IceConfig const& config);
257
258 MCNAPI void SetIceRole_n(::cricket::IceRole ice_role);
259
261
262 MCNAPI ::webrtc::RTCError SetLocalDescription(
263 ::webrtc::SdpType type,
264 ::cricket::SessionDescription const* local_desc,
265 ::cricket::SessionDescription const* remote_desc
266 );
267
269
270 MCNAPI ::webrtc::RTCError SetRemoteDescription(
271 ::webrtc::SdpType type,
272 ::cricket::SessionDescription const* local_desc,
273 ::cricket::SessionDescription const* remote_desc
274 );
275
277
278 MCNAPI ::webrtc::RTCError ValidateAndMaybeUpdateBundleGroups(
279 bool local,
280 ::webrtc::SdpType type,
281 ::cricket::SessionDescription const* local_desc,
282 ::cricket::SessionDescription const* remote_desc
283 );
284
285 MCNAPI ::webrtc::RTCError ValidateContent(::cricket::ContentInfo const& content_info);
286 // NOLINTEND
287
288public:
289 // constructor thunks
290 // NOLINTBEGIN
291 MCNAPI void* $ctor(
292 ::webrtc::Environment const& env,
293 ::rtc::Thread* network_thread,
294 ::cricket::PortAllocator* port_allocator,
295 ::webrtc::AsyncDnsResolverFactoryInterface* async_dns_resolver_factory,
297 );
298 // NOLINTEND
299
300public:
301 // vftables
302 // NOLINTBEGIN
303 MCNAPI static void** $vftable();
304 // NOLINTEND
305};
306
307} // namespace webrtc
Definition Candidate.h:15
Definition ContentGroup.h:7
Definition ContentInfo.h:12
Definition DtlsTransportInternal.h:21
Definition IceTransportInternal.h:26
Definition PortAllocator.h:25
Definition SessionDescription.h:18
Definition PacketTransportInternal.h:20
Definition RTCCertificate.h:18
Definition SSLCertChain.h:13
Definition Thread.h:20
Definition has_slots.h:8
Definition AsyncDnsResolverFactoryInterface.h:16
Definition DataChannelTransportInterface.h:15
Definition DtlsTransport.h:19
Definition Environment.h:7
Definition IceTransportInterface.h:15
Definition JsepTransportController.h:51
MCAPI bool SetLocalCertificate(::webrtc::scoped_refptr<::rtc::RTCCertificate > const &certificate)
MCAPI::webrtc::RTCError SetLocalDescription(::webrtc::SdpType type, ::cricket::SessionDescription const *local_desc, ::cricket::SessionDescription const *remote_desc)
MCAPI::webrtc::RtpTransportInternal * GetRtpTransport(::std::string_view mid) const
MCAPI void SetActiveResetSrtpParams(bool active_reset_srtp_params)
MCAPI::webrtc::RTCError ValidateContent(::cricket::ContentInfo const &content_info)
MCAPI::webrtc::RTCError SetRemoteDescription(::webrtc::SdpType type, ::cricket::SessionDescription const *local_desc, ::cricket::SessionDescription const *remote_desc)
MCAPI::webrtc::RTCError MaybeCreateJsepTransport(bool local, ::cricket::ContentInfo const &content_info, ::cricket::SessionDescription const &description)
MCAPI void SetIceConfig(::cricket::IceConfig const &config)
MCAPI ::std::optional<::rtc::SSLRole > GetDtlsRole(::std::string const &mid) const
MCAPI ::webrtc::scoped_refptr<::webrtc::DtlsTransport > LookupDtlsTransportByMid(::std::string const &mid)
MCAPI ::webrtc::scoped_refptr<::webrtc::IceTransportInterface > CreateIceTransport(::std::string const &transport_name, bool rtcp)
static MCAPI void ** $vftable()
MCAPI::cricket::JsepTransportDescription CreateJsepTransportDescription(::cricket::ContentInfo const &content_info, ::cricket::TransportInfo const &transport_info, ::std::vector< int > const &encrypted_extension_ids, int rtp_abs_sendtime_extn_id)
MCAPI bool GetStats(::std::string const &transport_name, ::cricket::TransportStats *stats)
MCAPI::cricket::DtlsTransportInternal * GetDtlsTransport(::std::string const &mid)
MCAPI void OnTransportReceivingState_n(::rtc::PacketTransportInternal *transport)
MCAPI::webrtc::RTCError RemoveRemoteCandidates(::std::vector<::cricket::Candidate > const &candidates)
MCAPI void SetIceRole_n(::cricket::IceRole ice_role)
MCAPI void OnTransportCandidateGathered_n(::cricket::IceTransportInternal *transport, ::cricket::Candidate const &candidate)
MCAPI ::webrtc::scoped_refptr<::rtc::RTCCertificate > GetLocalCertificate(::std::string const &transport_name) const
MCAPI ::std::map<::cricket::ContentGroup const *, ::std::vector< int > > MergeEncryptedHeaderExtensionIdsForBundles(::cricket::SessionDescription const *description)
MCAPI::webrtc::DataChannelTransportInterface * GetDataChannelTransport(::std::string const &mid) const
MCAPI ::std::unique_ptr<::rtc::SSLCertChain > GetRemoteSSLCertChain(::std::string const &transport_name) const
MCAPI JsepTransportController(::webrtc::Environment const &env, ::rtc::Thread *network_thread, ::cricket::PortAllocator *port_allocator, ::webrtc::AsyncDnsResolverFactoryInterface *async_dns_resolver_factory, ::webrtc::JsepTransportController::Config config)
MCAPI void * $ctor(::webrtc::Environment const &env, ::rtc::Thread *network_thread, ::cricket::PortAllocator *port_allocator, ::webrtc::AsyncDnsResolverFactoryInterface *async_dns_resolver_factory, ::webrtc::JsepTransportController::Config config)
MCAPI::webrtc::RTCError ValidateAndMaybeUpdateBundleGroups(bool local, ::webrtc::SdpType type, ::cricket::SessionDescription const *local_desc, ::cricket::SessionDescription const *remote_desc)
MCAPI void OnTransportWritableState_n(::rtc::PacketTransportInternal *transport)
MCAPI::webrtc::RTCError RollbackTransports()
MCAPI void OnTransportStateChanged_n(::cricket::IceTransportInternal *transport)
MCAPI ::std::vector<::cricket::DtlsTransportInternal * > GetDtlsTransports()
MCAPI ::std::vector< int > GetEncryptedHeaderExtensionIds(::cricket::ContentInfo const &content_info)
MCAPI void OnTransportRoleConflict_n(::cricket::IceTransportInternal *transport)
MCAPI ::std::vector<::cricket::DtlsTransportInternal * > GetActiveDtlsTransports()
MCAPI ::std::unique_ptr<::cricket::DtlsTransportInternal > CreateDtlsTransport(::cricket::ContentInfo const &content_info, ::cricket::IceTransportInternal *ice)
MCAPI::webrtc::RTCError ApplyDescription_n(bool local, ::webrtc::SdpType type, ::cricket::SessionDescription const *local_desc, ::cricket::SessionDescription const *remote_desc)
MCAPI ::webrtc::scoped_refptr<::webrtc::SctpTransport > GetSctpTransport(::std::string const &mid) const
MCAPI bool NeedsIceRestart(::std::string const &transport_name) const
MCAPI::webrtc::RTCError AddRemoteCandidates(::std::string const &transport_name, ::std::vector<::cricket::Candidate > const &candidates)
Definition RTCError.h:10
Definition RtpTransportInternal.h:21
Definition SctpTransport.h:26
Definition scoped_refptr.h:8
Definition IceConfig.h:10
Definition JsepTransportDescription.h:12
Definition TransportInfo.h:7
Definition TransportStats.h:7
Definition Alias.h:14
Definition JsepTransportController.h:84