1#![allow(unused_imports)]
2#![allow(clippy::all)]
3use super::*;
4use wasm_bindgen::prelude::*;
5#[wasm_bindgen]
6extern "C" {
7 #[wasm_bindgen(
8 extends = "EventTarget",
9 extends = "::js_sys::Object",
10 js_name = "RTCPeerConnection",
11 typescript_type = "RTCPeerConnection"
12 )]
13 #[derive(Debug, Clone, PartialEq, Eq)]
14 #[doc = "The `RtcPeerConnection` class."]
15 #[doc = ""]
16 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection)"]
17 #[doc = ""]
18 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
19 pub type RtcPeerConnection;
20 #[cfg(feature = "RtcSessionDescription")]
21 #[wasm_bindgen(
22 method,
23 getter,
24 js_class = "RTCPeerConnection",
25 js_name = "localDescription"
26 )]
27 #[doc = "Getter for the `localDescription` field of this object."]
28 #[doc = ""]
29 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/localDescription)"]
30 #[doc = ""]
31 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
32 pub fn local_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
33 #[cfg(feature = "RtcSessionDescription")]
34 #[wasm_bindgen(
35 method,
36 getter,
37 js_class = "RTCPeerConnection",
38 js_name = "currentLocalDescription"
39 )]
40 #[doc = "Getter for the `currentLocalDescription` field of this object."]
41 #[doc = ""]
42 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/currentLocalDescription)"]
43 #[doc = ""]
44 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
45 pub fn current_local_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
46 #[cfg(feature = "RtcSessionDescription")]
47 #[wasm_bindgen(
48 method,
49 getter,
50 js_class = "RTCPeerConnection",
51 js_name = "pendingLocalDescription"
52 )]
53 #[doc = "Getter for the `pendingLocalDescription` field of this object."]
54 #[doc = ""]
55 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/pendingLocalDescription)"]
56 #[doc = ""]
57 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
58 pub fn pending_local_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
59 #[cfg(feature = "RtcSessionDescription")]
60 #[wasm_bindgen(
61 method,
62 getter,
63 js_class = "RTCPeerConnection",
64 js_name = "remoteDescription"
65 )]
66 #[doc = "Getter for the `remoteDescription` field of this object."]
67 #[doc = ""]
68 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/remoteDescription)"]
69 #[doc = ""]
70 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
71 pub fn remote_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
72 #[cfg(feature = "RtcSessionDescription")]
73 #[wasm_bindgen(
74 method,
75 getter,
76 js_class = "RTCPeerConnection",
77 js_name = "currentRemoteDescription"
78 )]
79 #[doc = "Getter for the `currentRemoteDescription` field of this object."]
80 #[doc = ""]
81 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/currentRemoteDescription)"]
82 #[doc = ""]
83 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
84 pub fn current_remote_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
85 #[cfg(feature = "RtcSessionDescription")]
86 #[wasm_bindgen(
87 method,
88 getter,
89 js_class = "RTCPeerConnection",
90 js_name = "pendingRemoteDescription"
91 )]
92 #[doc = "Getter for the `pendingRemoteDescription` field of this object."]
93 #[doc = ""]
94 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/pendingRemoteDescription)"]
95 #[doc = ""]
96 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
97 pub fn pending_remote_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
98 #[cfg(feature = "RtcSignalingState")]
99 #[wasm_bindgen(
100 method,
101 getter,
102 js_class = "RTCPeerConnection",
103 js_name = "signalingState"
104 )]
105 #[doc = "Getter for the `signalingState` field of this object."]
106 #[doc = ""]
107 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/signalingState)"]
108 #[doc = ""]
109 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSignalingState`*"]
110 pub fn signaling_state(this: &RtcPeerConnection) -> RtcSignalingState;
111 #[wasm_bindgen(
112 method,
113 getter,
114 js_class = "RTCPeerConnection",
115 js_name = "canTrickleIceCandidates"
116 )]
117 #[doc = "Getter for the `canTrickleIceCandidates` field of this object."]
118 #[doc = ""]
119 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/canTrickleIceCandidates)"]
120 #[doc = ""]
121 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
122 pub fn can_trickle_ice_candidates(this: &RtcPeerConnection) -> Option<bool>;
123 #[cfg(feature = "RtcIceGatheringState")]
124 #[wasm_bindgen(
125 method,
126 getter,
127 js_class = "RTCPeerConnection",
128 js_name = "iceGatheringState"
129 )]
130 #[doc = "Getter for the `iceGatheringState` field of this object."]
131 #[doc = ""]
132 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState)"]
133 #[doc = ""]
134 #[doc = "*This API requires the following crate features to be activated: `RtcIceGatheringState`, `RtcPeerConnection`*"]
135 pub fn ice_gathering_state(this: &RtcPeerConnection) -> RtcIceGatheringState;
136 #[cfg(feature = "RtcIceConnectionState")]
137 #[wasm_bindgen(
138 method,
139 getter,
140 js_class = "RTCPeerConnection",
141 js_name = "iceConnectionState"
142 )]
143 #[doc = "Getter for the `iceConnectionState` field of this object."]
144 #[doc = ""]
145 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceConnectionState)"]
146 #[doc = ""]
147 #[doc = "*This API requires the following crate features to be activated: `RtcIceConnectionState`, `RtcPeerConnection`*"]
148 pub fn ice_connection_state(this: &RtcPeerConnection) -> RtcIceConnectionState;
149 #[cfg(feature = "RtcPeerConnectionState")]
150 #[wasm_bindgen(
151 method,
152 getter,
153 js_class = "RTCPeerConnection",
154 js_name = "connectionState"
155 )]
156 #[doc = "Getter for the `connectionState` field of this object."]
157 #[doc = ""]
158 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/connectionState)"]
159 #[doc = ""]
160 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcPeerConnectionState`*"]
161 pub fn connection_state(this: &RtcPeerConnection) -> RtcPeerConnectionState;
162 #[wasm_bindgen(
163 method,
164 getter,
165 js_class = "RTCPeerConnection",
166 js_name = "peerIdentity"
167 )]
168 #[doc = "Getter for the `peerIdentity` field of this object."]
169 #[doc = ""]
170 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/peerIdentity)"]
171 #[doc = ""]
172 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
173 pub fn peer_identity(this: &RtcPeerConnection) -> ::js_sys::Promise;
174 #[wasm_bindgen(
175 method,
176 getter,
177 js_class = "RTCPeerConnection",
178 js_name = "idpLoginUrl"
179 )]
180 #[doc = "Getter for the `idpLoginUrl` field of this object."]
181 #[doc = ""]
182 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/idpLoginUrl)"]
183 #[doc = ""]
184 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
185 pub fn idp_login_url(this: &RtcPeerConnection) -> Option<::alloc::string::String>;
186 #[wasm_bindgen(
187 method,
188 getter,
189 js_class = "RTCPeerConnection",
190 js_name = "onnegotiationneeded"
191 )]
192 #[doc = "Getter for the `onnegotiationneeded` field of this object."]
193 #[doc = ""]
194 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onnegotiationneeded)"]
195 #[doc = ""]
196 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
197 pub fn onnegotiationneeded(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
198 #[wasm_bindgen(
199 method,
200 setter,
201 js_class = "RTCPeerConnection",
202 js_name = "onnegotiationneeded"
203 )]
204 #[doc = "Setter for the `onnegotiationneeded` field of this object."]
205 #[doc = ""]
206 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onnegotiationneeded)"]
207 #[doc = ""]
208 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
209 pub fn set_onnegotiationneeded(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
210 #[wasm_bindgen(
211 method,
212 getter,
213 js_class = "RTCPeerConnection",
214 js_name = "onicecandidate"
215 )]
216 #[doc = "Getter for the `onicecandidate` field of this object."]
217 #[doc = ""]
218 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicecandidate)"]
219 #[doc = ""]
220 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
221 pub fn onicecandidate(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
222 #[wasm_bindgen(
223 method,
224 setter,
225 js_class = "RTCPeerConnection",
226 js_name = "onicecandidate"
227 )]
228 #[doc = "Setter for the `onicecandidate` field of this object."]
229 #[doc = ""]
230 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicecandidate)"]
231 #[doc = ""]
232 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
233 pub fn set_onicecandidate(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
234 #[wasm_bindgen(
235 method,
236 getter,
237 js_class = "RTCPeerConnection",
238 js_name = "onsignalingstatechange"
239 )]
240 #[doc = "Getter for the `onsignalingstatechange` field of this object."]
241 #[doc = ""]
242 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onsignalingstatechange)"]
243 #[doc = ""]
244 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
245 pub fn onsignalingstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
246 #[wasm_bindgen(
247 method,
248 setter,
249 js_class = "RTCPeerConnection",
250 js_name = "onsignalingstatechange"
251 )]
252 #[doc = "Setter for the `onsignalingstatechange` field of this object."]
253 #[doc = ""]
254 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onsignalingstatechange)"]
255 #[doc = ""]
256 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
257 pub fn set_onsignalingstatechange(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
258 #[wasm_bindgen(
259 method,
260 getter,
261 js_class = "RTCPeerConnection",
262 js_name = "onaddstream"
263 )]
264 #[doc = "Getter for the `onaddstream` field of this object."]
265 #[doc = ""]
266 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddstream)"]
267 #[doc = ""]
268 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
269 pub fn onaddstream(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
270 #[wasm_bindgen(
271 method,
272 setter,
273 js_class = "RTCPeerConnection",
274 js_name = "onaddstream"
275 )]
276 #[doc = "Setter for the `onaddstream` field of this object."]
277 #[doc = ""]
278 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddstream)"]
279 #[doc = ""]
280 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
281 pub fn set_onaddstream(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
282 #[wasm_bindgen(method, getter, js_class = "RTCPeerConnection", js_name = "onaddtrack")]
283 #[doc = "Getter for the `onaddtrack` field of this object."]
284 #[doc = ""]
285 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddtrack)"]
286 #[doc = ""]
287 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
288 pub fn onaddtrack(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
289 #[wasm_bindgen(method, setter, js_class = "RTCPeerConnection", js_name = "onaddtrack")]
290 #[doc = "Setter for the `onaddtrack` field of this object."]
291 #[doc = ""]
292 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddtrack)"]
293 #[doc = ""]
294 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
295 pub fn set_onaddtrack(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
296 #[wasm_bindgen(method, getter, js_class = "RTCPeerConnection", js_name = "ontrack")]
297 #[doc = "Getter for the `ontrack` field of this object."]
298 #[doc = ""]
299 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ontrack)"]
300 #[doc = ""]
301 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
302 pub fn ontrack(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
303 #[wasm_bindgen(method, setter, js_class = "RTCPeerConnection", js_name = "ontrack")]
304 #[doc = "Setter for the `ontrack` field of this object."]
305 #[doc = ""]
306 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ontrack)"]
307 #[doc = ""]
308 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
309 pub fn set_ontrack(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
310 #[wasm_bindgen(
311 method,
312 getter,
313 js_class = "RTCPeerConnection",
314 js_name = "onremovestream"
315 )]
316 #[doc = "Getter for the `onremovestream` field of this object."]
317 #[doc = ""]
318 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onremovestream)"]
319 #[doc = ""]
320 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
321 pub fn onremovestream(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
322 #[wasm_bindgen(
323 method,
324 setter,
325 js_class = "RTCPeerConnection",
326 js_name = "onremovestream"
327 )]
328 #[doc = "Setter for the `onremovestream` field of this object."]
329 #[doc = ""]
330 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onremovestream)"]
331 #[doc = ""]
332 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
333 pub fn set_onremovestream(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
334 #[wasm_bindgen(
335 method,
336 getter,
337 js_class = "RTCPeerConnection",
338 js_name = "oniceconnectionstatechange"
339 )]
340 #[doc = "Getter for the `oniceconnectionstatechange` field of this object."]
341 #[doc = ""]
342 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/oniceconnectionstatechange)"]
343 #[doc = ""]
344 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
345 pub fn oniceconnectionstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
346 #[wasm_bindgen(
347 method,
348 setter,
349 js_class = "RTCPeerConnection",
350 js_name = "oniceconnectionstatechange"
351 )]
352 #[doc = "Setter for the `oniceconnectionstatechange` field of this object."]
353 #[doc = ""]
354 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/oniceconnectionstatechange)"]
355 #[doc = ""]
356 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
357 pub fn set_oniceconnectionstatechange(
358 this: &RtcPeerConnection,
359 value: Option<&::js_sys::Function>,
360 );
361 #[wasm_bindgen(
362 method,
363 getter,
364 js_class = "RTCPeerConnection",
365 js_name = "onicegatheringstatechange"
366 )]
367 #[doc = "Getter for the `onicegatheringstatechange` field of this object."]
368 #[doc = ""]
369 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicegatheringstatechange)"]
370 #[doc = ""]
371 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
372 pub fn onicegatheringstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
373 #[wasm_bindgen(
374 method,
375 setter,
376 js_class = "RTCPeerConnection",
377 js_name = "onicegatheringstatechange"
378 )]
379 #[doc = "Setter for the `onicegatheringstatechange` field of this object."]
380 #[doc = ""]
381 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicegatheringstatechange)"]
382 #[doc = ""]
383 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
384 pub fn set_onicegatheringstatechange(
385 this: &RtcPeerConnection,
386 value: Option<&::js_sys::Function>,
387 );
388 #[wasm_bindgen(
389 method,
390 getter,
391 js_class = "RTCPeerConnection",
392 js_name = "onconnectionstatechange"
393 )]
394 #[doc = "Getter for the `onconnectionstatechange` field of this object."]
395 #[doc = ""]
396 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onconnectionstatechange)"]
397 #[doc = ""]
398 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
399 pub fn onconnectionstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
400 #[wasm_bindgen(
401 method,
402 setter,
403 js_class = "RTCPeerConnection",
404 js_name = "onconnectionstatechange"
405 )]
406 #[doc = "Setter for the `onconnectionstatechange` field of this object."]
407 #[doc = ""]
408 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onconnectionstatechange)"]
409 #[doc = ""]
410 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
411 pub fn set_onconnectionstatechange(
412 this: &RtcPeerConnection,
413 value: Option<&::js_sys::Function>,
414 );
415 #[wasm_bindgen(
416 method,
417 getter,
418 js_class = "RTCPeerConnection",
419 js_name = "ondatachannel"
420 )]
421 #[doc = "Getter for the `ondatachannel` field of this object."]
422 #[doc = ""]
423 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ondatachannel)"]
424 #[doc = ""]
425 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
426 pub fn ondatachannel(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
427 #[wasm_bindgen(
428 method,
429 setter,
430 js_class = "RTCPeerConnection",
431 js_name = "ondatachannel"
432 )]
433 #[doc = "Setter for the `ondatachannel` field of this object."]
434 #[doc = ""]
435 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ondatachannel)"]
436 #[doc = ""]
437 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
438 pub fn set_ondatachannel(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
439 #[wasm_bindgen(catch, constructor, js_class = "RTCPeerConnection")]
440 #[doc = "The `new RtcPeerConnection(..)` constructor, creating a new instance of `RtcPeerConnection`."]
441 #[doc = ""]
442 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection)"]
443 #[doc = ""]
444 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
445 pub fn new() -> Result<RtcPeerConnection, JsValue>;
446 #[cfg(feature = "RtcConfiguration")]
447 #[wasm_bindgen(catch, constructor, js_class = "RTCPeerConnection")]
448 #[doc = "The `new RtcPeerConnection(..)` constructor, creating a new instance of `RtcPeerConnection`."]
449 #[doc = ""]
450 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection)"]
451 #[doc = ""]
452 #[doc = "*This API requires the following crate features to be activated: `RtcConfiguration`, `RtcPeerConnection`*"]
453 pub fn new_with_configuration(
454 configuration: &RtcConfiguration,
455 ) -> Result<RtcPeerConnection, JsValue>;
456 #[cfg(feature = "RtcConfiguration")]
457 #[wasm_bindgen(catch, constructor, js_class = "RTCPeerConnection")]
458 #[doc = "The `new RtcPeerConnection(..)` constructor, creating a new instance of `RtcPeerConnection`."]
459 #[doc = ""]
460 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection)"]
461 #[doc = ""]
462 #[doc = "*This API requires the following crate features to be activated: `RtcConfiguration`, `RtcPeerConnection`*"]
463 pub fn new_with_configuration_and_constraints(
464 configuration: &RtcConfiguration,
465 constraints: Option<&::js_sys::Object>,
466 ) -> Result<RtcPeerConnection, JsValue>;
467 #[cfg(feature = "RtcIceCandidateInit")]
468 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addIceCandidate")]
469 #[doc = "The `addIceCandidate()` method."]
470 #[doc = ""]
471 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addIceCandidate)"]
472 #[doc = ""]
473 #[doc = "*This API requires the following crate features to be activated: `RtcIceCandidateInit`, `RtcPeerConnection`*"]
474 pub fn add_ice_candidate_with_opt_rtc_ice_candidate_init(
475 this: &RtcPeerConnection,
476 candidate: Option<&RtcIceCandidateInit>,
477 ) -> ::js_sys::Promise;
478 #[cfg(feature = "RtcIceCandidate")]
479 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addIceCandidate")]
480 #[doc = "The `addIceCandidate()` method."]
481 #[doc = ""]
482 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addIceCandidate)"]
483 #[doc = ""]
484 #[doc = "*This API requires the following crate features to be activated: `RtcIceCandidate`, `RtcPeerConnection`*"]
485 pub fn add_ice_candidate_with_opt_rtc_ice_candidate(
486 this: &RtcPeerConnection,
487 candidate: Option<&RtcIceCandidate>,
488 ) -> ::js_sys::Promise;
489 #[cfg(feature = "RtcIceCandidate")]
490 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addIceCandidate")]
491 #[doc = "The `addIceCandidate()` method."]
492 #[doc = ""]
493 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addIceCandidate)"]
494 #[doc = ""]
495 #[doc = "*This API requires the following crate features to be activated: `RtcIceCandidate`, `RtcPeerConnection`*"]
496 pub fn add_ice_candidate_with_rtc_ice_candidate_and_success_callback_and_failure_callback(
497 this: &RtcPeerConnection,
498 candidate: &RtcIceCandidate,
499 success_callback: &::js_sys::Function,
500 failure_callback: &::js_sys::Function,
501 ) -> ::js_sys::Promise;
502 #[cfg(feature = "MediaStream")]
503 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addStream")]
504 #[doc = "The `addStream()` method."]
505 #[doc = ""]
506 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream)"]
507 #[doc = ""]
508 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `RtcPeerConnection`*"]
509 pub fn add_stream(this: &RtcPeerConnection, stream: &MediaStream);
510 #[cfg(all(
511 feature = "MediaStream",
512 feature = "MediaStreamTrack",
513 feature = "RtcRtpSender",
514 ))]
515 #[wasm_bindgen(method, variadic, js_class = "RTCPeerConnection", js_name = "addTrack")]
516 #[doc = "The `addTrack()` method."]
517 #[doc = ""]
518 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
519 #[doc = ""]
520 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
521 pub fn add_track(
522 this: &RtcPeerConnection,
523 track: &MediaStreamTrack,
524 stream: &MediaStream,
525 more_streams: &::js_sys::Array,
526 ) -> RtcRtpSender;
527 #[cfg(all(
528 feature = "MediaStream",
529 feature = "MediaStreamTrack",
530 feature = "RtcRtpSender",
531 ))]
532 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
533 #[doc = "The `addTrack()` method."]
534 #[doc = ""]
535 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
536 #[doc = ""]
537 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
538 pub fn add_track_0(
539 this: &RtcPeerConnection,
540 track: &MediaStreamTrack,
541 stream: &MediaStream,
542 ) -> RtcRtpSender;
543 #[cfg(all(
544 feature = "MediaStream",
545 feature = "MediaStreamTrack",
546 feature = "RtcRtpSender",
547 ))]
548 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
549 #[doc = "The `addTrack()` method."]
550 #[doc = ""]
551 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
552 #[doc = ""]
553 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
554 pub fn add_track_1(
555 this: &RtcPeerConnection,
556 track: &MediaStreamTrack,
557 stream: &MediaStream,
558 more_streams_1: &MediaStream,
559 ) -> RtcRtpSender;
560 #[cfg(all(
561 feature = "MediaStream",
562 feature = "MediaStreamTrack",
563 feature = "RtcRtpSender",
564 ))]
565 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
566 #[doc = "The `addTrack()` method."]
567 #[doc = ""]
568 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
569 #[doc = ""]
570 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
571 pub fn add_track_2(
572 this: &RtcPeerConnection,
573 track: &MediaStreamTrack,
574 stream: &MediaStream,
575 more_streams_1: &MediaStream,
576 more_streams_2: &MediaStream,
577 ) -> RtcRtpSender;
578 #[cfg(all(
579 feature = "MediaStream",
580 feature = "MediaStreamTrack",
581 feature = "RtcRtpSender",
582 ))]
583 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
584 #[doc = "The `addTrack()` method."]
585 #[doc = ""]
586 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
587 #[doc = ""]
588 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
589 pub fn add_track_3(
590 this: &RtcPeerConnection,
591 track: &MediaStreamTrack,
592 stream: &MediaStream,
593 more_streams_1: &MediaStream,
594 more_streams_2: &MediaStream,
595 more_streams_3: &MediaStream,
596 ) -> RtcRtpSender;
597 #[cfg(all(
598 feature = "MediaStream",
599 feature = "MediaStreamTrack",
600 feature = "RtcRtpSender",
601 ))]
602 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
603 #[doc = "The `addTrack()` method."]
604 #[doc = ""]
605 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
606 #[doc = ""]
607 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
608 pub fn add_track_4(
609 this: &RtcPeerConnection,
610 track: &MediaStreamTrack,
611 stream: &MediaStream,
612 more_streams_1: &MediaStream,
613 more_streams_2: &MediaStream,
614 more_streams_3: &MediaStream,
615 more_streams_4: &MediaStream,
616 ) -> RtcRtpSender;
617 #[cfg(all(
618 feature = "MediaStream",
619 feature = "MediaStreamTrack",
620 feature = "RtcRtpSender",
621 ))]
622 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
623 #[doc = "The `addTrack()` method."]
624 #[doc = ""]
625 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
626 #[doc = ""]
627 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
628 pub fn add_track_5(
629 this: &RtcPeerConnection,
630 track: &MediaStreamTrack,
631 stream: &MediaStream,
632 more_streams_1: &MediaStream,
633 more_streams_2: &MediaStream,
634 more_streams_3: &MediaStream,
635 more_streams_4: &MediaStream,
636 more_streams_5: &MediaStream,
637 ) -> RtcRtpSender;
638 #[cfg(all(
639 feature = "MediaStream",
640 feature = "MediaStreamTrack",
641 feature = "RtcRtpSender",
642 ))]
643 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
644 #[doc = "The `addTrack()` method."]
645 #[doc = ""]
646 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
647 #[doc = ""]
648 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
649 pub fn add_track_6(
650 this: &RtcPeerConnection,
651 track: &MediaStreamTrack,
652 stream: &MediaStream,
653 more_streams_1: &MediaStream,
654 more_streams_2: &MediaStream,
655 more_streams_3: &MediaStream,
656 more_streams_4: &MediaStream,
657 more_streams_5: &MediaStream,
658 more_streams_6: &MediaStream,
659 ) -> RtcRtpSender;
660 #[cfg(all(
661 feature = "MediaStream",
662 feature = "MediaStreamTrack",
663 feature = "RtcRtpSender",
664 ))]
665 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTrack")]
666 #[doc = "The `addTrack()` method."]
667 #[doc = ""]
668 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
669 #[doc = ""]
670 #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
671 pub fn add_track_7(
672 this: &RtcPeerConnection,
673 track: &MediaStreamTrack,
674 stream: &MediaStream,
675 more_streams_1: &MediaStream,
676 more_streams_2: &MediaStream,
677 more_streams_3: &MediaStream,
678 more_streams_4: &MediaStream,
679 more_streams_5: &MediaStream,
680 more_streams_6: &MediaStream,
681 more_streams_7: &MediaStream,
682 ) -> RtcRtpSender;
683 #[cfg(all(feature = "MediaStreamTrack", feature = "RtcRtpTransceiver",))]
684 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTransceiver")]
685 #[doc = "The `addTransceiver()` method."]
686 #[doc = ""]
687 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
688 #[doc = ""]
689 #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpTransceiver`*"]
690 pub fn add_transceiver_with_media_stream_track(
691 this: &RtcPeerConnection,
692 track_or_kind: &MediaStreamTrack,
693 ) -> RtcRtpTransceiver;
694 #[cfg(feature = "RtcRtpTransceiver")]
695 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTransceiver")]
696 #[doc = "The `addTransceiver()` method."]
697 #[doc = ""]
698 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
699 #[doc = ""]
700 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcRtpTransceiver`*"]
701 pub fn add_transceiver_with_str(
702 this: &RtcPeerConnection,
703 track_or_kind: &str,
704 ) -> RtcRtpTransceiver;
705 #[cfg(all(
706 feature = "MediaStreamTrack",
707 feature = "RtcRtpTransceiver",
708 feature = "RtcRtpTransceiverInit",
709 ))]
710 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTransceiver")]
711 #[doc = "The `addTransceiver()` method."]
712 #[doc = ""]
713 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
714 #[doc = ""]
715 #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpTransceiver`, `RtcRtpTransceiverInit`*"]
716 pub fn add_transceiver_with_media_stream_track_and_init(
717 this: &RtcPeerConnection,
718 track_or_kind: &MediaStreamTrack,
719 init: &RtcRtpTransceiverInit,
720 ) -> RtcRtpTransceiver;
721 #[cfg(all(feature = "RtcRtpTransceiver", feature = "RtcRtpTransceiverInit",))]
722 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "addTransceiver")]
723 #[doc = "The `addTransceiver()` method."]
724 #[doc = ""]
725 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
726 #[doc = ""]
727 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcRtpTransceiver`, `RtcRtpTransceiverInit`*"]
728 pub fn add_transceiver_with_str_and_init(
729 this: &RtcPeerConnection,
730 track_or_kind: &str,
731 init: &RtcRtpTransceiverInit,
732 ) -> RtcRtpTransceiver;
733 #[wasm_bindgen(method, js_class = "RTCPeerConnection")]
734 #[doc = "The `close()` method."]
735 #[doc = ""]
736 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/close)"]
737 #[doc = ""]
738 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
739 pub fn close(this: &RtcPeerConnection);
740 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createAnswer")]
741 #[doc = "The `createAnswer()` method."]
742 #[doc = ""]
743 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer)"]
744 #[doc = ""]
745 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
746 pub fn create_answer(this: &RtcPeerConnection) -> ::js_sys::Promise;
747 #[cfg(feature = "RtcAnswerOptions")]
748 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createAnswer")]
749 #[doc = "The `createAnswer()` method."]
750 #[doc = ""]
751 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer)"]
752 #[doc = ""]
753 #[doc = "*This API requires the following crate features to be activated: `RtcAnswerOptions`, `RtcPeerConnection`*"]
754 pub fn create_answer_with_rtc_answer_options(
755 this: &RtcPeerConnection,
756 options: &RtcAnswerOptions,
757 ) -> ::js_sys::Promise;
758 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createAnswer")]
759 #[doc = "The `createAnswer()` method."]
760 #[doc = ""]
761 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer)"]
762 #[doc = ""]
763 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
764 pub fn create_answer_with_success_callback_and_failure_callback(
765 this: &RtcPeerConnection,
766 success_callback: &::js_sys::Function,
767 failure_callback: &::js_sys::Function,
768 ) -> ::js_sys::Promise;
769 #[cfg(feature = "RtcDataChannel")]
770 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createDataChannel")]
771 #[doc = "The `createDataChannel()` method."]
772 #[doc = ""]
773 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createDataChannel)"]
774 #[doc = ""]
775 #[doc = "*This API requires the following crate features to be activated: `RtcDataChannel`, `RtcPeerConnection`*"]
776 pub fn create_data_channel(this: &RtcPeerConnection, label: &str) -> RtcDataChannel;
777 #[cfg(all(feature = "RtcDataChannel", feature = "RtcDataChannelInit",))]
778 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createDataChannel")]
779 #[doc = "The `createDataChannel()` method."]
780 #[doc = ""]
781 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createDataChannel)"]
782 #[doc = ""]
783 #[doc = "*This API requires the following crate features to be activated: `RtcDataChannel`, `RtcDataChannelInit`, `RtcPeerConnection`*"]
784 pub fn create_data_channel_with_data_channel_dict(
785 this: &RtcPeerConnection,
786 label: &str,
787 data_channel_dict: &RtcDataChannelInit,
788 ) -> RtcDataChannel;
789 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createOffer")]
790 #[doc = "The `createOffer()` method."]
791 #[doc = ""]
792 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
793 #[doc = ""]
794 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
795 pub fn create_offer(this: &RtcPeerConnection) -> ::js_sys::Promise;
796 #[cfg(feature = "RtcOfferOptions")]
797 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createOffer")]
798 #[doc = "The `createOffer()` method."]
799 #[doc = ""]
800 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
801 #[doc = ""]
802 #[doc = "*This API requires the following crate features to be activated: `RtcOfferOptions`, `RtcPeerConnection`*"]
803 pub fn create_offer_with_rtc_offer_options(
804 this: &RtcPeerConnection,
805 options: &RtcOfferOptions,
806 ) -> ::js_sys::Promise;
807 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createOffer")]
808 #[doc = "The `createOffer()` method."]
809 #[doc = ""]
810 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
811 #[doc = ""]
812 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
813 pub fn create_offer_with_callback_and_failure_callback(
814 this: &RtcPeerConnection,
815 success_callback: &::js_sys::Function,
816 failure_callback: &::js_sys::Function,
817 ) -> ::js_sys::Promise;
818 #[cfg(feature = "RtcOfferOptions")]
819 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "createOffer")]
820 #[doc = "The `createOffer()` method."]
821 #[doc = ""]
822 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
823 #[doc = ""]
824 #[doc = "*This API requires the following crate features to be activated: `RtcOfferOptions`, `RtcPeerConnection`*"]
825 pub fn create_offer_with_callback_and_failure_callback_and_options(
826 this: &RtcPeerConnection,
827 success_callback: &::js_sys::Function,
828 failure_callback: &::js_sys::Function,
829 options: &RtcOfferOptions,
830 ) -> ::js_sys::Promise;
831 #[wasm_bindgen(
832 catch,
833 static_method_of = "RtcPeerConnection",
834 js_class = "RTCPeerConnection",
835 js_name = "generateCertificate"
836 )]
837 #[doc = "The `generateCertificate()` method."]
838 #[doc = ""]
839 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate_static)"]
840 #[doc = ""]
841 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
842 pub fn generate_certificate_with_object(
843 keygen_algorithm: &::js_sys::Object,
844 ) -> Result<::js_sys::Promise, JsValue>;
845 #[wasm_bindgen(
846 catch,
847 static_method_of = "RtcPeerConnection",
848 js_class = "RTCPeerConnection",
849 js_name = "generateCertificate"
850 )]
851 #[doc = "The `generateCertificate()` method."]
852 #[doc = ""]
853 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate_static)"]
854 #[doc = ""]
855 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
856 pub fn generate_certificate_with_str(
857 keygen_algorithm: &str,
858 ) -> Result<::js_sys::Promise, JsValue>;
859 #[cfg(feature = "RtcConfiguration")]
860 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getConfiguration")]
861 #[doc = "The `getConfiguration()` method."]
862 #[doc = ""]
863 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getConfiguration)"]
864 #[doc = ""]
865 #[doc = "*This API requires the following crate features to be activated: `RtcConfiguration`, `RtcPeerConnection`*"]
866 pub fn get_configuration(this: &RtcPeerConnection) -> RtcConfiguration;
867 #[wasm_bindgen(
868 method,
869 js_class = "RTCPeerConnection",
870 js_name = "getIdentityAssertion"
871 )]
872 #[doc = "The `getIdentityAssertion()` method."]
873 #[doc = ""]
874 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getIdentityAssertion)"]
875 #[doc = ""]
876 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
877 pub fn get_identity_assertion(this: &RtcPeerConnection) -> ::js_sys::Promise;
878 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getLocalStreams")]
879 #[doc = "The `getLocalStreams()` method."]
880 #[doc = ""]
881 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getLocalStreams)"]
882 #[doc = ""]
883 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
884 pub fn get_local_streams(this: &RtcPeerConnection) -> ::js_sys::Array;
885 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getReceivers")]
886 #[doc = "The `getReceivers()` method."]
887 #[doc = ""]
888 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getReceivers)"]
889 #[doc = ""]
890 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
891 pub fn get_receivers(this: &RtcPeerConnection) -> ::js_sys::Array;
892 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getRemoteStreams")]
893 #[doc = "The `getRemoteStreams()` method."]
894 #[doc = ""]
895 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getRemoteStreams)"]
896 #[doc = ""]
897 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
898 pub fn get_remote_streams(this: &RtcPeerConnection) -> ::js_sys::Array;
899 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getSenders")]
900 #[doc = "The `getSenders()` method."]
901 #[doc = ""]
902 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getSenders)"]
903 #[doc = ""]
904 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
905 pub fn get_senders(this: &RtcPeerConnection) -> ::js_sys::Array;
906 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getStats")]
907 #[doc = "The `getStats()` method."]
908 #[doc = ""]
909 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats)"]
910 #[doc = ""]
911 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
912 pub fn get_stats(this: &RtcPeerConnection) -> ::js_sys::Promise;
913 #[cfg(feature = "MediaStreamTrack")]
914 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getStats")]
915 #[doc = "The `getStats()` method."]
916 #[doc = ""]
917 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats)"]
918 #[doc = ""]
919 #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`*"]
920 pub fn get_stats_with_selector(
921 this: &RtcPeerConnection,
922 selector: Option<&MediaStreamTrack>,
923 ) -> ::js_sys::Promise;
924 #[cfg(feature = "MediaStreamTrack")]
925 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getStats")]
926 #[doc = "The `getStats()` method."]
927 #[doc = ""]
928 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats)"]
929 #[doc = ""]
930 #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`*"]
931 pub fn get_stats_with_selector_and_success_callback_and_failure_callback(
932 this: &RtcPeerConnection,
933 selector: Option<&MediaStreamTrack>,
934 success_callback: &::js_sys::Function,
935 failure_callback: &::js_sys::Function,
936 ) -> ::js_sys::Promise;
937 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "getTransceivers")]
938 #[doc = "The `getTransceivers()` method."]
939 #[doc = ""]
940 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getTransceivers)"]
941 #[doc = ""]
942 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
943 pub fn get_transceivers(this: &RtcPeerConnection) -> ::js_sys::Array;
944 #[cfg(feature = "RtcRtpSender")]
945 #[wasm_bindgen(method, js_class = "RTCPeerConnection", js_name = "removeTrack")]
946 #[doc = "The `removeTrack()` method."]
947 #[doc = ""]
948 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/removeTrack)"]
949 #[doc = ""]
950 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcRtpSender`*"]
951 pub fn remove_track(this: &RtcPeerConnection, sender: &RtcRtpSender);
952 #[wasm_bindgen(
953 catch,
954 method,
955 js_class = "RTCPeerConnection",
956 js_name = "setConfiguration"
957 )]
958 #[doc = "The `setConfiguration()` method."]
959 #[doc = ""]
960 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setConfiguration)"]
961 #[doc = ""]
962 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
963 pub fn set_configuration(this: &RtcPeerConnection) -> Result<(), JsValue>;
964 #[cfg(feature = "RtcConfiguration")]
965 #[wasm_bindgen(
966 catch,
967 method,
968 js_class = "RTCPeerConnection",
969 js_name = "setConfiguration"
970 )]
971 #[doc = "The `setConfiguration()` method."]
972 #[doc = ""]
973 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setConfiguration)"]
974 #[doc = ""]
975 #[doc = "*This API requires the following crate features to be activated: `RtcConfiguration`, `RtcPeerConnection`*"]
976 pub fn set_configuration_with_configuration(
977 this: &RtcPeerConnection,
978 configuration: &RtcConfiguration,
979 ) -> Result<(), JsValue>;
980 #[wasm_bindgen(
981 method,
982 js_class = "RTCPeerConnection",
983 js_name = "setIdentityProvider"
984 )]
985 #[doc = "The `setIdentityProvider()` method."]
986 #[doc = ""]
987 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setIdentityProvider)"]
988 #[doc = ""]
989 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
990 pub fn set_identity_provider(this: &RtcPeerConnection, provider: &str);
991 #[cfg(feature = "RtcIdentityProviderOptions")]
992 #[wasm_bindgen(
993 method,
994 js_class = "RTCPeerConnection",
995 js_name = "setIdentityProvider"
996 )]
997 #[doc = "The `setIdentityProvider()` method."]
998 #[doc = ""]
999 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setIdentityProvider)"]
1000 #[doc = ""]
1001 #[doc = "*This API requires the following crate features to be activated: `RtcIdentityProviderOptions`, `RtcPeerConnection`*"]
1002 pub fn set_identity_provider_with_options(
1003 this: &RtcPeerConnection,
1004 provider: &str,
1005 options: &RtcIdentityProviderOptions,
1006 );
1007 #[cfg(feature = "RtcSessionDescriptionInit")]
1008 #[wasm_bindgen(
1009 method,
1010 js_class = "RTCPeerConnection",
1011 js_name = "setLocalDescription"
1012 )]
1013 #[doc = "The `setLocalDescription()` method."]
1014 #[doc = ""]
1015 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setLocalDescription)"]
1016 #[doc = ""]
1017 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
1018 pub fn set_local_description(
1019 this: &RtcPeerConnection,
1020 description: &RtcSessionDescriptionInit,
1021 ) -> ::js_sys::Promise;
1022 #[cfg(feature = "RtcSessionDescriptionInit")]
1023 #[wasm_bindgen(
1024 method,
1025 js_class = "RTCPeerConnection",
1026 js_name = "setLocalDescription"
1027 )]
1028 #[doc = "The `setLocalDescription()` method."]
1029 #[doc = ""]
1030 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setLocalDescription)"]
1031 #[doc = ""]
1032 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
1033 pub fn set_local_description_with_success_callback_and_failure_callback(
1034 this: &RtcPeerConnection,
1035 description: &RtcSessionDescriptionInit,
1036 success_callback: &::js_sys::Function,
1037 failure_callback: &::js_sys::Function,
1038 ) -> ::js_sys::Promise;
1039 #[cfg(feature = "RtcSessionDescriptionInit")]
1040 #[wasm_bindgen(
1041 method,
1042 js_class = "RTCPeerConnection",
1043 js_name = "setRemoteDescription"
1044 )]
1045 #[doc = "The `setRemoteDescription()` method."]
1046 #[doc = ""]
1047 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setRemoteDescription)"]
1048 #[doc = ""]
1049 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
1050 pub fn set_remote_description(
1051 this: &RtcPeerConnection,
1052 description: &RtcSessionDescriptionInit,
1053 ) -> ::js_sys::Promise;
1054 #[cfg(feature = "RtcSessionDescriptionInit")]
1055 #[wasm_bindgen(
1056 method,
1057 js_class = "RTCPeerConnection",
1058 js_name = "setRemoteDescription"
1059 )]
1060 #[doc = "The `setRemoteDescription()` method."]
1061 #[doc = ""]
1062 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setRemoteDescription)"]
1063 #[doc = ""]
1064 #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
1065 pub fn set_remote_description_with_success_callback_and_failure_callback(
1066 this: &RtcPeerConnection,
1067 description: &RtcSessionDescriptionInit,
1068 success_callback: &::js_sys::Function,
1069 failure_callback: &::js_sys::Function,
1070 ) -> ::js_sys::Promise;
1071}