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/SSLHandshakeError.h"
8#include "mc/external/rtc/SSLRole.h"
9#include "mc/external/sigslot/has_slots.h"
10#include "mc/external/sigslot/single_threaded.h"
11#include "mc/external/webrtc/SdpType.h"
12#include "mc/external/webrtc/scoped_refptr.h"
13
14// auto generated forward declare list
15// clang-format off
16namespace cricket { class Candidate; }
17namespace cricket { class ContentGroup; }
18namespace cricket { class ContentInfo; }
19namespace cricket { class DtlsTransportInternal; }
20namespace cricket { class IceTransportInternal; }
21namespace cricket { class JsepTransport; }
22namespace cricket { class PortAllocator; }
23namespace cricket { class SessionDescription; }
24namespace cricket { struct CandidatePairChangeEvent; }
25namespace cricket { struct IceCandidateErrorEvent; }
26namespace cricket { struct IceConfig; }
27namespace cricket { struct JsepTransportDescription; }
28namespace cricket { struct TransportInfo; }
29namespace cricket { struct TransportStats; }
30namespace rtc { class CopyOnWriteBuffer; }
31namespace rtc { class PacketTransportInternal; }
32namespace rtc { class RTCCertificate; }
33namespace rtc { class SSLCertChain; }
34namespace rtc { class Thread; }
35namespace webrtc { class AsyncDnsResolverFactoryInterface; }
36namespace webrtc { class DataChannelTransportInterface; }
37namespace webrtc { class DtlsSrtpTransport; }
38namespace webrtc { class DtlsTransport; }
39namespace webrtc { class Environment; }
40namespace webrtc { class IceTransportInterface; }
41namespace webrtc { class RTCError; }
42namespace webrtc { class RtpPacketReceived; }
43namespace webrtc { class RtpTransport; }
44namespace webrtc { class RtpTransportInternal; }
45namespace webrtc { class SctpTransport; }
46// clang-format on
47
48namespace webrtc {
49
50class JsepTransportController : public ::sigslot::has_slots<::sigslot::single_threaded> {
51public:
52 // JsepTransportController inner types declare
53 // clang-format off
54 struct Config;
55 class Observer;
56 // clang-format on
57
58 // JsepTransportController inner types define
59 class Observer {
60 public:
61 // virtual functions
62 // NOLINTBEGIN
63 // vIndex: 0
64 virtual ~Observer();
65
66 // vIndex: 1
67 virtual bool OnTransportChanged(
68 ::std::string const&,
72 ) = 0;
73 // NOLINTEND
74
75 public:
76 // destructor thunk
77 // NOLINTBEGIN
78 MCNAPI void $dtor();
79 // NOLINTEND
80
81 public:
82 // virtual function thunks
83 // NOLINTBEGIN
84
85 // NOLINTEND
86
87 public:
88 // vftables
89 // NOLINTBEGIN
90 MCNAPI static void** $vftable();
91 // NOLINTEND
92 };
93
94 struct Config {
95 public:
96 // member variables
97 // NOLINTBEGIN
114 // NOLINTEND
115
116 public:
117 // prevent constructor by default
118 Config& operator=(Config const&);
119 Config(Config const&);
120 Config();
121
122 public:
123 // member functions
124 // NOLINTBEGIN
125 MCNAPI ~Config();
126 // NOLINTEND
127
128 public:
129 // destructor thunk
130 // NOLINTBEGIN
131 MCNAPI void $dtor();
132 // NOLINTEND
133 };
134
135public:
136 // member variables
137 // NOLINTBEGIN
163 // NOLINTEND
164
165public:
166 // prevent constructor by default
170
171public:
172 // virtual functions
173 // NOLINTBEGIN
174 // vIndex: 0
175 virtual ~JsepTransportController() /*override*/;
176 // NOLINTEND
177
178public:
179 // member functions
180 // NOLINTBEGIN
181 MCNAPI ::webrtc::RTCError
182 AddRemoteCandidates(::std::string const& transport_name, ::std::vector<::cricket::Candidate> const& candidates);
183
184 MCNAPI ::webrtc::RTCError ApplyDescription_n(
185 bool local,
186 ::webrtc::SdpType type,
187 ::cricket::SessionDescription const* local_desc,
188 ::cricket::SessionDescription const* remote_desc
189 );
190
191 MCNAPI ::std::unique_ptr<::webrtc::DtlsSrtpTransport> CreateDtlsSrtpTransport(
192 ::std::string const& transport_name,
193 ::cricket::DtlsTransportInternal* rtp_dtls_transport,
194 ::cricket::DtlsTransportInternal* rtcp_dtls_transport
195 );
196
197 MCNAPI ::std::unique_ptr<::cricket::DtlsTransportInternal>
199
200 MCNAPI ::webrtc::scoped_refptr<::webrtc::IceTransportInterface>
201 CreateIceTransport(::std::string const& transport_name, bool rtcp);
202
203 MCNAPI ::cricket::JsepTransportDescription CreateJsepTransportDescription(
204 ::cricket::ContentInfo const& content_info,
205 ::cricket::TransportInfo const& transport_info,
206 ::std::vector<int> const& encrypted_extension_ids,
207 int rtp_abs_sendtime_extn_id
208 );
209
210 MCNAPI ::std::unique_ptr<::webrtc::RtpTransport> CreateUnencryptedRtpTransport(
211 ::std::string const& transport_name,
212 ::rtc::PacketTransportInternal* rtp_packet_transport,
213 ::rtc::PacketTransportInternal* rtcp_packet_transport
214 );
215
217
218 MCNAPI ::cricket::IceRole DetermineIceRole(
219 ::cricket::JsepTransport* jsep_transport,
220 ::cricket::TransportInfo const& transport_info,
221 ::webrtc::SdpType type,
222 bool local
223 );
224
225 MCNAPI ::std::vector<::cricket::DtlsTransportInternal*> GetActiveDtlsTransports();
226
227 MCNAPI ::webrtc::DataChannelTransportInterface* GetDataChannelTransport(::std::string const& mid) const;
228
229 MCNAPI ::std::optional<::rtc::SSLRole> GetDtlsRole(::std::string const& mid) const;
230
231 MCNAPI ::cricket::DtlsTransportInternal* GetDtlsTransport(::std::string const& mid);
232
233 MCNAPI ::std::vector<::cricket::DtlsTransportInternal*> GetDtlsTransports();
234
235 MCNAPI ::std::vector<int> GetEncryptedHeaderExtensionIds(::cricket::ContentInfo const& content_info);
236
237 MCNAPI ::cricket::JsepTransport const* GetJsepTransportByName(::std::string const&) const;
238
239 MCNAPI ::cricket::JsepTransport* GetJsepTransportByName(::std::string const& transport_name);
240
241 MCNAPI ::cricket::JsepTransport const* GetJsepTransportForMid(::std::string const&) const;
242
243 MCNAPI ::cricket::JsepTransport const* GetJsepTransportForMid(::std::string_view mid) const;
244
245 MCNAPI ::cricket::JsepTransport* GetJsepTransportForMid(::std::string const& mid);
246
247 MCNAPI ::webrtc::scoped_refptr<::rtc::RTCCertificate>
248 GetLocalCertificate(::std::string const& transport_name) const;
249
250 MCNAPI ::std::unique_ptr<::rtc::SSLCertChain> GetRemoteSSLCertChain(::std::string const& transport_name) const;
251
253
254 MCNAPI ::webrtc::RtpTransportInternal* GetRtpTransport(::std::string_view mid) const;
255
256 MCNAPI ::webrtc::scoped_refptr<::webrtc::SctpTransport> GetSctpTransport(::std::string const& mid) const;
257
258 MCNAPI bool GetStats(::std::string const& transport_name, ::cricket::TransportStats* stats);
259
260 MCNAPI bool
261 HandleBundledContent(::cricket::ContentInfo const& content_info, ::cricket::ContentGroup const& bundle_group);
262
263 MCNAPI void HandleRejectedContent(::cricket::ContentInfo const& content_info);
264
266 ::webrtc::Environment const& env,
267 ::rtc::Thread* network_thread,
268 ::cricket::PortAllocator* port_allocator,
269 ::webrtc::AsyncDnsResolverFactoryInterface* async_dns_resolver_factory,
271 );
272
273 MCNAPI ::webrtc::scoped_refptr<::webrtc::DtlsTransport> LookupDtlsTransportByMid(::std::string const& mid);
274
275 MCNAPI ::webrtc::RTCError MaybeCreateJsepTransport(
276 bool local,
277 ::cricket::ContentInfo const& content_info,
278 ::cricket::SessionDescription const& description
279 );
280
281 MCNAPI void MaybeStartGathering();
282
283 MCNAPI ::std::map<::cricket::ContentGroup const*, ::std::vector<int>>
285
286 MCNAPI bool NeedsIceRestart(::std::string const& transport_name) const;
287
288 MCNAPI void OnDtlsHandshakeError(::rtc::SSLHandshakeError error);
289
290 MCNAPI void OnRtcpPacketReceived_n(::rtc::CopyOnWriteBuffer* packet, int64 packet_time_us);
291
295 );
296
297 MCNAPI void
299
301
304 ::std::vector<::cricket::Candidate> const& candidates
305 );
306
307 MCNAPI bool OnTransportChanged(::std::string const& mid, ::cricket::JsepTransport* jsep_transport);
308
310
312
314
316
318
320
321 MCNAPI ::webrtc::RTCError RemoveRemoteCandidates(::std::vector<::cricket::Candidate> const& candidates);
322
323 MCNAPI ::webrtc::RTCError RollbackTransports();
324
325 MCNAPI void SetActiveResetSrtpParams(bool active_reset_srtp_params);
326
327 MCNAPI void SetIceConfig(::cricket::IceConfig const& config);
328
329 MCNAPI void SetIceRole_n(::cricket::IceRole ice_role);
330
332
333 MCNAPI ::webrtc::RTCError SetLocalDescription(
334 ::webrtc::SdpType type,
335 ::cricket::SessionDescription const* local_desc,
336 ::cricket::SessionDescription const* remote_desc
337 );
338
340
341 MCNAPI ::webrtc::RTCError SetRemoteDescription(
342 ::webrtc::SdpType type,
343 ::cricket::SessionDescription const* local_desc,
344 ::cricket::SessionDescription const* remote_desc
345 );
346
348
349 MCNAPI ::webrtc::RTCError ValidateAndMaybeUpdateBundleGroups(
350 bool local,
351 ::webrtc::SdpType type,
352 ::cricket::SessionDescription const* local_desc,
353 ::cricket::SessionDescription const* remote_desc
354 );
355
356 MCNAPI ::webrtc::RTCError ValidateContent(::cricket::ContentInfo const& content_info);
357 // NOLINTEND
358
359public:
360 // constructor thunks
361 // NOLINTBEGIN
362 MCNAPI void* $ctor(
363 ::webrtc::Environment const& env,
364 ::rtc::Thread* network_thread,
365 ::cricket::PortAllocator* port_allocator,
366 ::webrtc::AsyncDnsResolverFactoryInterface* async_dns_resolver_factory,
368 );
369 // NOLINTEND
370
371public:
372 // destructor thunk
373 // NOLINTBEGIN
374 MCNAPI void $dtor();
375 // NOLINTEND
376
377public:
378 // vftables
379 // NOLINTBEGIN
380 MCNAPI static void** $vftable();
381 // NOLINTEND
382};
383
384} // namespace webrtc
Definition Candidate.h:15
Definition ContentGroup.h:7
Definition ContentInfo.h:12
Definition DtlsTransportInternal.h:21
Definition IceTransportInternal.h:26
Definition JsepTransport.h:32
Definition PortAllocator.h:25
Definition SessionDescription.h:18
Definition CopyOnWriteBuffer.h:11
Definition PacketTransportInternal.h:20
Definition Thread.h:20
Definition has_slots.h:8
Definition AsyncDnsResolverFactoryInterface.h:16
Definition DataChannelTransportInterface.h:15
Definition Environment.h:7
Definition JsepTransportController.h:59
Definition JsepTransportController.h:50
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 void OnTransportCandidatesRemoved_n(::cricket::IceTransportInternal *transport, ::std::vector<::cricket::Candidate > const &candidates)
MCAPI::cricket::JsepTransport * GetJsepTransportByName(::std::string const &transport_name)
MCAPI::cricket::JsepTransport const * GetJsepTransportForMid(::std::string const &) const
MCAPI::webrtc::RtpTransportInternal * GetRtpTransport(::std::string_view mid) const
MCAPI void OnDtlsHandshakeError(::rtc::SSLHandshakeError error)
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::cricket::IceRole DetermineIceRole(::cricket::JsepTransport *jsep_transport, ::cricket::TransportInfo const &transport_info, ::webrtc::SdpType type, bool local)
MCAPI::webrtc::RTCError MaybeCreateJsepTransport(bool local, ::cricket::ContentInfo const &content_info, ::cricket::SessionDescription const &description)
MCAPI void SetIceConfig(::cricket::IceConfig const &config)
MCAPI void OnTransportGatheringState_n(::cricket::IceTransportInternal *transport)
MCAPI ::std::optional<::rtc::SSLRole > GetDtlsRole(::std::string const &mid) const
MCAPI ::webrtc::scoped_refptr<::webrtc::DtlsTransport > LookupDtlsTransportByMid(::std::string const &mid)
MCAPI bool HandleBundledContent(::cricket::ContentInfo const &content_info, ::cricket::ContentGroup const &bundle_group)
MCAPI::cricket::JsepTransport const * GetJsepTransportForMid(::std::string_view mid) const
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 int GetRtpAbsSendTimeHeaderExtensionId(::cricket::ContentInfo const &content_info)
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 OnTransportCandidatePairChanged_n(::cricket::CandidatePairChangeEvent const &event)
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 void OnRtcpPacketReceived_n(::rtc::CopyOnWriteBuffer *packet, int64 packet_time_us)
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 OnUnDemuxableRtpPacketReceived_n(::webrtc::RtpPacketReceived const &packet)
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 void HandleRejectedContent(::cricket::ContentInfo const &content_info)
MCAPI::webrtc::RTCError RollbackTransports()
MCAPI void OnTransportStateChanged_n(::cricket::IceTransportInternal *transport)
MCAPI::cricket::JsepTransport const * GetJsepTransportByName(::std::string const &) const
MCAPI ::std::vector<::cricket::DtlsTransportInternal * > GetDtlsTransports()
MCAPI ::std::unique_ptr<::webrtc::RtpTransport > CreateUnencryptedRtpTransport(::std::string const &transport_name, ::rtc::PacketTransportInternal *rtp_packet_transport, ::rtc::PacketTransportInternal *rtcp_packet_transport)
MCAPI bool OnTransportChanged(::std::string const &mid, ::cricket::JsepTransport *jsep_transport)
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 void OnTransportCandidateError_n(::cricket::IceTransportInternal *transport, ::cricket::IceCandidateErrorEvent const &event)
MCAPI ::webrtc::scoped_refptr<::webrtc::SctpTransport > GetSctpTransport(::std::string const &mid) const
MCAPI bool NeedsIceRestart(::std::string const &transport_name) const
MCAPI ::std::unique_ptr<::webrtc::DtlsSrtpTransport > CreateDtlsSrtpTransport(::std::string const &transport_name, ::cricket::DtlsTransportInternal *rtp_dtls_transport, ::cricket::DtlsTransportInternal *rtcp_dtls_transport)
MCAPI::webrtc::RTCError AddRemoteCandidates(::std::string const &transport_name, ::std::vector<::cricket::Candidate > const &candidates)
MCAPI::cricket::JsepTransport * GetJsepTransportForMid(::std::string const &mid)
Definition RtpPacketReceived.h:16
Definition RtpTransportInternal.h:21
Definition scoped_refptr.h:8
Definition CandidatePairChangeEvent.h:7
Definition IceCandidateErrorEvent.h:7
Definition IceConfig.h:10
Definition TransportInfo.h:7
Definition TransportStats.h:7
Definition Alias.h:14
Definition JsepTransportController.h:94