1 module libwasm.bindings.RTCStatsReport;
2 
3 import libwasm.types;
4 
5 import memutils.ct : tuple;
6 import libwasm.bindings.Performance;
7 
8 @safe:
9 nothrow:
10 
11 struct RTCCodecStats
12 {
13 nothrow:
14   libwasm.bindings.RTCStatsReport.RTCStats _parent;
15   alias _parent this;
16   this(Handle h)
17   {
18     _parent = .RTCStats(h);
19   }
20 
21   static auto create()
22   {
23     return RTCCodecStats(libwasm_add__object());
24   }
25 
26   void payloadType()(uint payloadType)
27   {
28     Object_Call_uint__void(this._parent, "payloadType", payloadType);
29   }
30 
31   uint payloadType()()
32   {
33     return Object_Getter__uint(this._parent, "payloadType");
34   }
35 
36   void codec()(string codec)
37   {
38     Object_Call_string__void(this._parent, "codec", codec);
39   }
40 
41   string codec()()
42   {
43     return Object_Getter__string(this._parent, "codec");
44   }
45 
46   void clockRate()(uint clockRate)
47   {
48     Object_Call_uint__void(this._parent, "clockRate", clockRate);
49   }
50 
51   uint clockRate()()
52   {
53     return Object_Getter__uint(this._parent, "clockRate");
54   }
55 
56   void channels()(uint channels)
57   {
58     Object_Call_uint__void(this._parent, "channels", channels);
59   }
60 
61   uint channels()()
62   {
63     return Object_Getter__uint(this._parent, "channels");
64   }
65 
66   void parameters()(string parameters)
67   {
68     Object_Call_string__void(this._parent, "parameters", parameters);
69   }
70 
71   string parameters()()
72   {
73     return Object_Getter__string(this._parent, "parameters");
74   }
75 }
76 
77 struct RTCIceCandidatePairStats
78 {
79 nothrow:
80   libwasm.bindings.RTCStatsReport.RTCStats _parent;
81   alias _parent this;
82   this(Handle h)
83   {
84     _parent = .RTCStats(h);
85   }
86 
87   static auto create()
88   {
89     return RTCIceCandidatePairStats(libwasm_add__object());
90   }
91 
92   void transportId()(string transportId)
93   {
94     Object_Call_string__void(this._parent, "transportId", transportId);
95   }
96 
97   string transportId()()
98   {
99     return Object_Getter__string(this._parent, "transportId");
100   }
101 
102   void localCandidateId()(string localCandidateId)
103   {
104     Object_Call_string__void(this._parent, "localCandidateId", localCandidateId);
105   }
106 
107   string localCandidateId()()
108   {
109     return Object_Getter__string(this._parent, "localCandidateId");
110   }
111 
112   void remoteCandidateId()(string remoteCandidateId)
113   {
114     Object_Call_string__void(this._parent, "remoteCandidateId", remoteCandidateId);
115   }
116 
117   string remoteCandidateId()()
118   {
119     return Object_Getter__string(this._parent, "remoteCandidateId");
120   }
121 
122   void state()(RTCStatsIceCandidatePairState state)
123   {
124     Object_Call_int__void(this._parent, "state", state);
125   }
126 
127   RTCStatsIceCandidatePairState state()()
128   {
129     return Object_Getter__int(this._parent, "state");
130   }
131 
132   void priority()(uint priority)
133   {
134     Object_Call_uint__void(this._parent, "priority", priority);
135   }
136 
137   uint priority()()
138   {
139     return Object_Getter__uint(this._parent, "priority");
140   }
141 
142   void nominated()(bool nominated)
143   {
144     Object_Call_bool__void(this._parent, "nominated", nominated);
145   }
146 
147   bool nominated()()
148   {
149     return Object_Getter__bool(this._parent, "nominated");
150   }
151 
152   void writable()(bool writable)
153   {
154     Object_Call_bool__void(this._parent, "writable", writable);
155   }
156 
157   bool writable()()
158   {
159     return Object_Getter__bool(this._parent, "writable");
160   }
161 
162   void readable()(bool readable)
163   {
164     Object_Call_bool__void(this._parent, "readable", readable);
165   }
166 
167   bool readable()()
168   {
169     return Object_Getter__bool(this._parent, "readable");
170   }
171 
172   void bytesSent()(uint bytesSent)
173   {
174     Object_Call_uint__void(this._parent, "bytesSent", bytesSent);
175   }
176 
177   uint bytesSent()()
178   {
179     return Object_Getter__uint(this._parent, "bytesSent");
180   }
181 
182   void bytesReceived()(uint bytesReceived)
183   {
184     Object_Call_uint__void(this._parent, "bytesReceived", bytesReceived);
185   }
186 
187   uint bytesReceived()()
188   {
189     return Object_Getter__uint(this._parent, "bytesReceived");
190   }
191 
192   void lastPacketSentTimestamp()(double lastPacketSentTimestamp)
193   {
194     Object_Call_double__void(this._parent, "lastPacketSentTimestamp", lastPacketSentTimestamp);
195   }
196 
197   double lastPacketSentTimestamp()()
198   {
199     return Object_Getter__double(this._parent, "lastPacketSentTimestamp");
200   }
201 
202   void lastPacketReceivedTimestamp()(double lastPacketReceivedTimestamp)
203   {
204     Object_Call_double__void(this._parent, "lastPacketReceivedTimestamp", lastPacketReceivedTimestamp);
205   }
206 
207   double lastPacketReceivedTimestamp()()
208   {
209     return Object_Getter__double(this._parent, "lastPacketReceivedTimestamp");
210   }
211 
212   void selected()(bool selected)
213   {
214     Object_Call_bool__void(this._parent, "selected", selected);
215   }
216 
217   bool selected()()
218   {
219     return Object_Getter__bool(this._parent, "selected");
220   }
221 
222   void componentId()(uint componentId)
223   {
224     Object_Call_uint__void(this._parent, "componentId", componentId);
225   }
226 
227   uint componentId()()
228   {
229     return Object_Getter__uint(this._parent, "componentId");
230   }
231 }
232 
233 struct RTCIceCandidateStats
234 {
235 nothrow:
236   libwasm.bindings.RTCStatsReport.RTCStats _parent;
237   alias _parent this;
238   this(Handle h)
239   {
240     _parent = .RTCStats(h);
241   }
242 
243   static auto create()
244   {
245     return RTCIceCandidateStats(libwasm_add__object());
246   }
247 
248   void address()(string address)
249   {
250     Object_Call_string__void(this._parent, "address", address);
251   }
252 
253   string address()()
254   {
255     return Object_Getter__string(this._parent, "address");
256   }
257 
258   void port()(int port)
259   {
260     Object_Call_int__void(this._parent, "port", port);
261   }
262 
263   int port()()
264   {
265     return Object_Getter__int(this._parent, "port");
266   }
267 
268   void protocol()(string protocol)
269   {
270     Object_Call_string__void(this._parent, "protocol", protocol);
271   }
272 
273   string protocol()()
274   {
275     return Object_Getter__string(this._parent, "protocol");
276   }
277 
278   void candidateType()(RTCIceCandidateType candidateType)
279   {
280     Object_Call_int__void(this._parent, "candidateType", candidateType);
281   }
282 
283   RTCIceCandidateType candidateType()()
284   {
285     return Object_Getter__int(this._parent, "candidateType");
286   }
287 
288   void priority()(int priority)
289   {
290     Object_Call_int__void(this._parent, "priority", priority);
291   }
292 
293   int priority()()
294   {
295     return Object_Getter__int(this._parent, "priority");
296   }
297 
298   void relayProtocol()(string relayProtocol)
299   {
300     Object_Call_string__void(this._parent, "relayProtocol", relayProtocol);
301   }
302 
303   string relayProtocol()()
304   {
305     return Object_Getter__string(this._parent, "relayProtocol");
306   }
307 
308   void transportId()(string transportId)
309   {
310     Object_Call_string__void(this._parent, "transportId", transportId);
311   }
312 
313   string transportId()()
314   {
315     return Object_Getter__string(this._parent, "transportId");
316   }
317 }
318 
319 enum RTCIceCandidateType
320 {
321   host,
322   srflx,
323   prflx,
324   relay
325 }
326 
327 struct RTCIceComponentStats
328 {
329 nothrow:
330   libwasm.bindings.RTCStatsReport.RTCStats _parent;
331   alias _parent this;
332   this(Handle h)
333   {
334     _parent = .RTCStats(h);
335   }
336 
337   static auto create()
338   {
339     return RTCIceComponentStats(libwasm_add__object());
340   }
341 
342   void transportId()(string transportId)
343   {
344     Object_Call_string__void(this._parent, "transportId", transportId);
345   }
346 
347   string transportId()()
348   {
349     return Object_Getter__string(this._parent, "transportId");
350   }
351 
352   void component()(int component)
353   {
354     Object_Call_int__void(this._parent, "component", component);
355   }
356 
357   int component()()
358   {
359     return Object_Getter__int(this._parent, "component");
360   }
361 
362   void bytesSent()(uint bytesSent)
363   {
364     Object_Call_uint__void(this._parent, "bytesSent", bytesSent);
365   }
366 
367   uint bytesSent()()
368   {
369     return Object_Getter__uint(this._parent, "bytesSent");
370   }
371 
372   void bytesReceived()(uint bytesReceived)
373   {
374     Object_Call_uint__void(this._parent, "bytesReceived", bytesReceived);
375   }
376 
377   uint bytesReceived()()
378   {
379     return Object_Getter__uint(this._parent, "bytesReceived");
380   }
381 
382   void activeConnection()(bool activeConnection)
383   {
384     Object_Call_bool__void(this._parent, "activeConnection", activeConnection);
385   }
386 
387   bool activeConnection()()
388   {
389     return Object_Getter__bool(this._parent, "activeConnection");
390   }
391 }
392 
393 struct RTCInboundRTPStreamStats
394 {
395 nothrow:
396   libwasm.bindings.RTCStatsReport.RTCRtpStreamStats _parent;
397   alias _parent this;
398   this(Handle h)
399   {
400     _parent = .RTCRtpStreamStats(h);
401   }
402 
403   static auto create()
404   {
405     return RTCInboundRTPStreamStats(libwasm_add__object());
406   }
407 
408   void packetsReceived()(uint packetsReceived)
409   {
410     Object_Call_uint__void(this._parent, "packetsReceived", packetsReceived);
411   }
412 
413   uint packetsReceived()()
414   {
415     return Object_Getter__uint(this._parent, "packetsReceived");
416   }
417 
418   void bytesReceived()(uint bytesReceived)
419   {
420     Object_Call_uint__void(this._parent, "bytesReceived", bytesReceived);
421   }
422 
423   uint bytesReceived()()
424   {
425     return Object_Getter__uint(this._parent, "bytesReceived");
426   }
427 
428   void jitter()(double jitter)
429   {
430     Object_Call_double__void(this._parent, "jitter", jitter);
431   }
432 
433   double jitter()()
434   {
435     return Object_Getter__double(this._parent, "jitter");
436   }
437 
438   void packetsLost()(uint packetsLost)
439   {
440     Object_Call_uint__void(this._parent, "packetsLost", packetsLost);
441   }
442 
443   uint packetsLost()()
444   {
445     return Object_Getter__uint(this._parent, "packetsLost");
446   }
447 
448   void roundTripTime()(double roundTripTime)
449   {
450     Object_Call_double__void(this._parent, "roundTripTime", roundTripTime);
451   }
452 
453   double roundTripTime()()
454   {
455     return Object_Getter__double(this._parent, "roundTripTime");
456   }
457 
458   void discardedPackets()(uint discardedPackets)
459   {
460     Object_Call_uint__void(this._parent, "discardedPackets", discardedPackets);
461   }
462 
463   uint discardedPackets()()
464   {
465     return Object_Getter__uint(this._parent, "discardedPackets");
466   }
467 
468   void framesDecoded()(uint framesDecoded)
469   {
470     Object_Call_uint__void(this._parent, "framesDecoded", framesDecoded);
471   }
472 
473   uint framesDecoded()()
474   {
475     return Object_Getter__uint(this._parent, "framesDecoded");
476   }
477 }
478 
479 struct RTCMediaStreamStats
480 {
481 nothrow:
482   libwasm.bindings.RTCStatsReport.RTCStats _parent;
483   alias _parent this;
484   this(Handle h)
485   {
486     _parent = .RTCStats(h);
487   }
488 
489   static auto create()
490   {
491     return RTCMediaStreamStats(libwasm_add__object());
492   }
493 
494   void streamIdentifier()(string streamIdentifier)
495   {
496     Object_Call_string__void(this._parent, "streamIdentifier", streamIdentifier);
497   }
498 
499   string streamIdentifier()()
500   {
501     return Object_Getter__string(this._parent, "streamIdentifier");
502   }
503 
504   void trackIds()(scope ref Sequence!(string) trackIds)
505   {
506     Object_Call_Handle__void(this._parent, "trackIds", trackIds.handle);
507   }
508 
509   auto trackIds()()
510   {
511     return Sequence!(string)(Object_Getter__Handle(this._parent, "trackIds"));
512   }
513 }
514 
515 struct RTCMediaStreamTrackStats
516 {
517 nothrow:
518   libwasm.bindings.RTCStatsReport.RTCStats _parent;
519   alias _parent this;
520   this(Handle h)
521   {
522     _parent = .RTCStats(h);
523   }
524 
525   static auto create()
526   {
527     return RTCMediaStreamTrackStats(libwasm_add__object());
528   }
529 
530   void trackIdentifier()(string trackIdentifier)
531   {
532     Object_Call_string__void(this._parent, "trackIdentifier", trackIdentifier);
533   }
534 
535   string trackIdentifier()()
536   {
537     return Object_Getter__string(this._parent, "trackIdentifier");
538   }
539 
540   void remoteSource()(bool remoteSource)
541   {
542     Object_Call_bool__void(this._parent, "remoteSource", remoteSource);
543   }
544 
545   bool remoteSource()()
546   {
547     return Object_Getter__bool(this._parent, "remoteSource");
548   }
549 
550   void ssrcIds()(scope ref Sequence!(string) ssrcIds)
551   {
552     Object_Call_Handle__void(this._parent, "ssrcIds", ssrcIds.handle);
553   }
554 
555   auto ssrcIds()()
556   {
557     return Sequence!(string)(Object_Getter__Handle(this._parent, "ssrcIds"));
558   }
559 
560   void frameWidth()(uint frameWidth)
561   {
562     Object_Call_uint__void(this._parent, "frameWidth", frameWidth);
563   }
564 
565   uint frameWidth()()
566   {
567     return Object_Getter__uint(this._parent, "frameWidth");
568   }
569 
570   void frameHeight()(uint frameHeight)
571   {
572     Object_Call_uint__void(this._parent, "frameHeight", frameHeight);
573   }
574 
575   uint frameHeight()()
576   {
577     return Object_Getter__uint(this._parent, "frameHeight");
578   }
579 
580   void framesPerSecond()(double framesPerSecond)
581   {
582     Object_Call_double__void(this._parent, "framesPerSecond", framesPerSecond);
583   }
584 
585   double framesPerSecond()()
586   {
587     return Object_Getter__double(this._parent, "framesPerSecond");
588   }
589 
590   void framesSent()(uint framesSent)
591   {
592     Object_Call_uint__void(this._parent, "framesSent", framesSent);
593   }
594 
595   uint framesSent()()
596   {
597     return Object_Getter__uint(this._parent, "framesSent");
598   }
599 
600   void framesReceived()(uint framesReceived)
601   {
602     Object_Call_uint__void(this._parent, "framesReceived", framesReceived);
603   }
604 
605   uint framesReceived()()
606   {
607     return Object_Getter__uint(this._parent, "framesReceived");
608   }
609 
610   void framesDecoded()(uint framesDecoded)
611   {
612     Object_Call_uint__void(this._parent, "framesDecoded", framesDecoded);
613   }
614 
615   uint framesDecoded()()
616   {
617     return Object_Getter__uint(this._parent, "framesDecoded");
618   }
619 
620   void framesDropped()(uint framesDropped)
621   {
622     Object_Call_uint__void(this._parent, "framesDropped", framesDropped);
623   }
624 
625   uint framesDropped()()
626   {
627     return Object_Getter__uint(this._parent, "framesDropped");
628   }
629 
630   void framesCorrupted()(uint framesCorrupted)
631   {
632     Object_Call_uint__void(this._parent, "framesCorrupted", framesCorrupted);
633   }
634 
635   uint framesCorrupted()()
636   {
637     return Object_Getter__uint(this._parent, "framesCorrupted");
638   }
639 
640   void audioLevel()(double audioLevel)
641   {
642     Object_Call_double__void(this._parent, "audioLevel", audioLevel);
643   }
644 
645   double audioLevel()()
646   {
647     return Object_Getter__double(this._parent, "audioLevel");
648   }
649 
650   void echoReturnLoss()(double echoReturnLoss)
651   {
652     Object_Call_double__void(this._parent, "echoReturnLoss", echoReturnLoss);
653   }
654 
655   double echoReturnLoss()()
656   {
657     return Object_Getter__double(this._parent, "echoReturnLoss");
658   }
659 
660   void echoReturnLossEnhancement()(double echoReturnLossEnhancement)
661   {
662     Object_Call_double__void(this._parent, "echoReturnLossEnhancement", echoReturnLossEnhancement);
663   }
664 
665   double echoReturnLossEnhancement()()
666   {
667     return Object_Getter__double(this._parent, "echoReturnLossEnhancement");
668   }
669 }
670 
671 struct RTCOutboundRTPStreamStats
672 {
673 nothrow:
674   libwasm.bindings.RTCStatsReport.RTCRtpStreamStats _parent;
675   alias _parent this;
676   this(Handle h)
677   {
678     _parent = .RTCRtpStreamStats(h);
679   }
680 
681   static auto create()
682   {
683     return RTCOutboundRTPStreamStats(libwasm_add__object());
684   }
685 
686   void packetsSent()(uint packetsSent)
687   {
688     Object_Call_uint__void(this._parent, "packetsSent", packetsSent);
689   }
690 
691   uint packetsSent()()
692   {
693     return Object_Getter__uint(this._parent, "packetsSent");
694   }
695 
696   void bytesSent()(uint bytesSent)
697   {
698     Object_Call_uint__void(this._parent, "bytesSent", bytesSent);
699   }
700 
701   uint bytesSent()()
702   {
703     return Object_Getter__uint(this._parent, "bytesSent");
704   }
705 
706   void targetBitrate()(double targetBitrate)
707   {
708     Object_Call_double__void(this._parent, "targetBitrate", targetBitrate);
709   }
710 
711   double targetBitrate()()
712   {
713     return Object_Getter__double(this._parent, "targetBitrate");
714   }
715 
716   void droppedFrames()(uint droppedFrames)
717   {
718     Object_Call_uint__void(this._parent, "droppedFrames", droppedFrames);
719   }
720 
721   uint droppedFrames()()
722   {
723     return Object_Getter__uint(this._parent, "droppedFrames");
724   }
725 
726   void framesEncoded()(uint framesEncoded)
727   {
728     Object_Call_uint__void(this._parent, "framesEncoded", framesEncoded);
729   }
730 
731   uint framesEncoded()()
732   {
733     return Object_Getter__uint(this._parent, "framesEncoded");
734   }
735 }
736 
737 struct RTCRTPContributingSourceStats
738 {
739 nothrow:
740   libwasm.bindings.RTCStatsReport.RTCStats _parent;
741   alias _parent this;
742   this(Handle h)
743   {
744     _parent = .RTCStats(h);
745   }
746 
747   static auto create()
748   {
749     return RTCRTPContributingSourceStats(libwasm_add__object());
750   }
751 
752   void contributorSsrc()(uint contributorSsrc)
753   {
754     Object_Call_uint__void(this._parent, "contributorSsrc", contributorSsrc);
755   }
756 
757   uint contributorSsrc()()
758   {
759     return Object_Getter__uint(this._parent, "contributorSsrc");
760   }
761 
762   void inboundRtpStreamId()(string inboundRtpStreamId)
763   {
764     Object_Call_string__void(this._parent, "inboundRtpStreamId", inboundRtpStreamId);
765   }
766 
767   string inboundRtpStreamId()()
768   {
769     return Object_Getter__string(this._parent, "inboundRtpStreamId");
770   }
771 }
772 
773 struct RTCRtpStreamStats
774 {
775 nothrow:
776   libwasm.bindings.RTCStatsReport.RTCStats _parent;
777   alias _parent this;
778   this(Handle h)
779   {
780     _parent = .RTCStats(h);
781   }
782 
783   static auto create()
784   {
785     return RTCRtpStreamStats(libwasm_add__object());
786   }
787 
788   void ssrc()(uint ssrc)
789   {
790     Object_Call_uint__void(this._parent, "ssrc", ssrc);
791   }
792 
793   uint ssrc()()
794   {
795     return Object_Getter__uint(this._parent, "ssrc");
796   }
797 
798   void mediaType()(string mediaType)
799   {
800     Object_Call_string__void(this._parent, "mediaType", mediaType);
801   }
802 
803   string mediaType()()
804   {
805     return Object_Getter__string(this._parent, "mediaType");
806   }
807 
808   void kind()(string kind)
809   {
810     Object_Call_string__void(this._parent, "kind", kind);
811   }
812 
813   string kind()()
814   {
815     return Object_Getter__string(this._parent, "kind");
816   }
817 
818   void transportId()(string transportId)
819   {
820     Object_Call_string__void(this._parent, "transportId", transportId);
821   }
822 
823   string transportId()()
824   {
825     return Object_Getter__string(this._parent, "transportId");
826   }
827 
828   void codecId()(string codecId)
829   {
830     Object_Call_string__void(this._parent, "codecId", codecId);
831   }
832 
833   string codecId()()
834   {
835     return Object_Getter__string(this._parent, "codecId");
836   }
837 
838   void firCount()(uint firCount)
839   {
840     Object_Call_uint__void(this._parent, "firCount", firCount);
841   }
842 
843   uint firCount()()
844   {
845     return Object_Getter__uint(this._parent, "firCount");
846   }
847 
848   void pliCount()(uint pliCount)
849   {
850     Object_Call_uint__void(this._parent, "pliCount", pliCount);
851   }
852 
853   uint pliCount()()
854   {
855     return Object_Getter__uint(this._parent, "pliCount");
856   }
857 
858   void nackCount()(uint nackCount)
859   {
860     Object_Call_uint__void(this._parent, "nackCount", nackCount);
861   }
862 
863   uint nackCount()()
864   {
865     return Object_Getter__uint(this._parent, "nackCount");
866   }
867 
868   void qpSum()(uint qpSum)
869   {
870     Object_Call_uint__void(this._parent, "qpSum", qpSum);
871   }
872 
873   uint qpSum()()
874   {
875     return Object_Getter__uint(this._parent, "qpSum");
876   }
877 
878   void remoteId()(string remoteId)
879   {
880     Object_Call_string__void(this._parent, "remoteId", remoteId);
881   }
882 
883   string remoteId()()
884   {
885     return Object_Getter__string(this._parent, "remoteId");
886   }
887 
888   void localId()(string localId)
889   {
890     Object_Call_string__void(this._parent, "localId", localId);
891   }
892 
893   string localId()()
894   {
895     return Object_Getter__string(this._parent, "localId");
896   }
897 
898   void mediaTrackId()(string mediaTrackId)
899   {
900     Object_Call_string__void(this._parent, "mediaTrackId", mediaTrackId);
901   }
902 
903   string mediaTrackId()()
904   {
905     return Object_Getter__string(this._parent, "mediaTrackId");
906   }
907 
908   void bitrateMean()(double bitrateMean)
909   {
910     Object_Call_double__void(this._parent, "bitrateMean", bitrateMean);
911   }
912 
913   double bitrateMean()()
914   {
915     return Object_Getter__double(this._parent, "bitrateMean");
916   }
917 
918   void bitrateStdDev()(double bitrateStdDev)
919   {
920     Object_Call_double__void(this._parent, "bitrateStdDev", bitrateStdDev);
921   }
922 
923   double bitrateStdDev()()
924   {
925     return Object_Getter__double(this._parent, "bitrateStdDev");
926   }
927 
928   void framerateMean()(double framerateMean)
929   {
930     Object_Call_double__void(this._parent, "framerateMean", framerateMean);
931   }
932 
933   double framerateMean()()
934   {
935     return Object_Getter__double(this._parent, "framerateMean");
936   }
937 
938   void framerateStdDev()(double framerateStdDev)
939   {
940     Object_Call_double__void(this._parent, "framerateStdDev", framerateStdDev);
941   }
942 
943   double framerateStdDev()()
944   {
945     return Object_Getter__double(this._parent, "framerateStdDev");
946   }
947 }
948 
949 struct RTCStats
950 {
951 nothrow:
952   JsHandle handle;
953   alias handle this;
954   this(Handle h)
955   {
956     this.handle = JsHandle(h);
957   }
958 
959   static auto create()
960   {
961     return RTCStats(libwasm_add__object());
962   }
963 
964   void timestamp()(double timestamp)
965   {
966     Object_Call_double__void(this.handle, "timestamp", timestamp);
967   }
968 
969   double timestamp()()
970   {
971     return Object_Getter__double(this.handle, "timestamp");
972   }
973 
974   void type()(RTCStatsType type)
975   {
976     Object_Call_int__void(this.handle, "type", type);
977   }
978 
979   RTCStatsType type()()
980   {
981     return Object_Getter__int(this.handle, "type");
982   }
983 
984   void id()(string id)
985   {
986     Object_Call_string__void(this.handle, "id", id);
987   }
988 
989   string id()()
990   {
991     return Object_Getter__string(this.handle, "id");
992   }
993 }
994 
995 enum RTCStatsIceCandidatePairState
996 {
997   frozen,
998   waiting,
999   inprogress,
1000   failed,
1001   succeeded,
1002   cancelled
1003 }
1004 
1005 struct RTCStatsReport
1006 {
1007 nothrow:
1008   JsHandle handle;
1009   alias handle this;
1010   this(Handle h)
1011   {
1012     this.handle = JsHandle(h);
1013   }
1014 
1015   uint size()()
1016   {
1017     return Maplike_string_Handle_size(this.handle);
1018   }
1019 
1020   void clear()()
1021   {
1022     Maplike_string_Handle_clear(this.handle);
1023   }
1024 
1025   void delete_()(string key)
1026   {
1027     Maplike_string_Handle_delete(this.handle, key);
1028   }
1029 
1030   Iterator!(ArrayPair!(string, JsObject)) entries()()
1031   {
1032     return Iterator!(ArrayPair!(string, JsObject))(Maplike_string_Handle_entries(this.handle));
1033   }
1034 
1035   extern (C) void forEach()(void delegate(string, Handle, Handle) callback)
1036   {
1037     Maplike_string_Handle_forEach(this.handle, callback);
1038   }
1039 
1040   JsObject get()(string key)
1041   {
1042     return JsObject(Maplike_string_Handle_get(this.handle, key));
1043   }
1044 
1045   bool has()(string key)
1046   {
1047     return Maplike_string_Handle_has(this.handle, key);
1048   }
1049 
1050   Iterator!(string) keys()()
1051   {
1052     return Iterator!(string)(Maplike_string_Handle_keys(this.handle));
1053   }
1054 
1055   void set()(string key, scope ref JsObject value)
1056   {
1057     Maplike_string_Handle_set(this.handle, key, value.handle);
1058   }
1059 
1060   Iterator!(JsObject) values()()
1061   {
1062     return Iterator!(JsObject)(Maplike_string_Handle_values(this.handle));
1063   }
1064 
1065   string mozPcid()()
1066   {
1067     return Object_Getter__string(this.handle, "mozPcid");
1068   }
1069 }
1070 
1071 struct RTCStatsReportInternal
1072 {
1073 nothrow:
1074   JsHandle handle;
1075   alias handle this;
1076   this(Handle h)
1077   {
1078     this.handle = JsHandle(h);
1079   }
1080 
1081   static auto create()
1082   {
1083     return RTCStatsReportInternal(libwasm_add__object());
1084   }
1085 
1086   void pcid()(string pcid)
1087   {
1088     Object_Call_string__void(this.handle, "pcid", pcid);
1089   }
1090 
1091   string pcid()()
1092   {
1093     return Object_Getter__string(this.handle, "pcid");
1094   }
1095 
1096   void inboundRTPStreamStats()(scope ref Sequence!(RTCInboundRTPStreamStats) inboundRTPStreamStats)
1097   {
1098     Object_Call_Handle__void(this.handle, "inboundRTPStreamStats", inboundRTPStreamStats.handle);
1099   }
1100 
1101   auto inboundRTPStreamStats()()
1102   {
1103     return Sequence!(RTCInboundRTPStreamStats)(Object_Getter__Handle(this.handle, "inboundRTPStreamStats"));
1104   }
1105 
1106   void outboundRTPStreamStats()(scope ref Sequence!(RTCOutboundRTPStreamStats) outboundRTPStreamStats)
1107   {
1108     Object_Call_Handle__void(this.handle, "outboundRTPStreamStats", outboundRTPStreamStats.handle);
1109   }
1110 
1111   auto outboundRTPStreamStats()()
1112   {
1113     return Sequence!(RTCOutboundRTPStreamStats)(Object_Getter__Handle(this.handle, "outboundRTPStreamStats"));
1114   }
1115 
1116   void rtpContributingSourceStats()(
1117     scope ref Sequence!(RTCRTPContributingSourceStats) rtpContributingSourceStats)
1118   {
1119     Object_Call_Handle__void(this.handle, "rtpContributingSourceStats", rtpContributingSourceStats
1120         .handle);
1121   }
1122 
1123   auto rtpContributingSourceStats()()
1124   {
1125     return Sequence!(RTCRTPContributingSourceStats)(Object_Getter__Handle(this.handle, "rtpContributingSourceStats"));
1126   }
1127 
1128   void mediaStreamTrackStats()(scope ref Sequence!(RTCMediaStreamTrackStats) mediaStreamTrackStats)
1129   {
1130     Object_Call_Handle__void(this.handle, "mediaStreamTrackStats", mediaStreamTrackStats.handle);
1131   }
1132 
1133   auto mediaStreamTrackStats()()
1134   {
1135     return Sequence!(RTCMediaStreamTrackStats)(Object_Getter__Handle(this.handle, "mediaStreamTrackStats"));
1136   }
1137 
1138   void mediaStreamStats()(scope ref Sequence!(RTCMediaStreamStats) mediaStreamStats)
1139   {
1140     Object_Call_Handle__void(this.handle, "mediaStreamStats", mediaStreamStats.handle);
1141   }
1142 
1143   auto mediaStreamStats()()
1144   {
1145     return Sequence!(RTCMediaStreamStats)(Object_Getter__Handle(this.handle, "mediaStreamStats"));
1146   }
1147 
1148   void transportStats()(scope ref Sequence!(RTCTransportStats) transportStats)
1149   {
1150     Object_Call_Handle__void(this.handle, "transportStats", transportStats.handle);
1151   }
1152 
1153   auto transportStats()()
1154   {
1155     return Sequence!(RTCTransportStats)(Object_Getter__Handle(this.handle, "transportStats"));
1156   }
1157 
1158   void iceComponentStats()(scope ref Sequence!(RTCIceComponentStats) iceComponentStats)
1159   {
1160     Object_Call_Handle__void(this.handle, "iceComponentStats", iceComponentStats.handle);
1161   }
1162 
1163   auto iceComponentStats()()
1164   {
1165     return Sequence!(RTCIceComponentStats)(Object_Getter__Handle(this.handle, "iceComponentStats"));
1166   }
1167 
1168   void iceCandidatePairStats()(scope ref Sequence!(RTCIceCandidatePairStats) iceCandidatePairStats)
1169   {
1170     Object_Call_Handle__void(this.handle, "iceCandidatePairStats", iceCandidatePairStats.handle);
1171   }
1172 
1173   auto iceCandidatePairStats()()
1174   {
1175     return Sequence!(RTCIceCandidatePairStats)(Object_Getter__Handle(this.handle, "iceCandidatePairStats"));
1176   }
1177 
1178   void iceCandidateStats()(scope ref Sequence!(RTCIceCandidateStats) iceCandidateStats)
1179   {
1180     Object_Call_Handle__void(this.handle, "iceCandidateStats", iceCandidateStats.handle);
1181   }
1182 
1183   auto iceCandidateStats()()
1184   {
1185     return Sequence!(RTCIceCandidateStats)(Object_Getter__Handle(this.handle, "iceCandidateStats"));
1186   }
1187 
1188   void codecStats()(scope ref Sequence!(RTCCodecStats) codecStats)
1189   {
1190     Object_Call_Handle__void(this.handle, "codecStats", codecStats.handle);
1191   }
1192 
1193   auto codecStats()()
1194   {
1195     return Sequence!(RTCCodecStats)(Object_Getter__Handle(this.handle, "codecStats"));
1196   }
1197 
1198   void localSdp()(string localSdp)
1199   {
1200     Object_Call_string__void(this.handle, "localSdp", localSdp);
1201   }
1202 
1203   string localSdp()()
1204   {
1205     return Object_Getter__string(this.handle, "localSdp");
1206   }
1207 
1208   void remoteSdp()(string remoteSdp)
1209   {
1210     Object_Call_string__void(this.handle, "remoteSdp", remoteSdp);
1211   }
1212 
1213   string remoteSdp()()
1214   {
1215     return Object_Getter__string(this.handle, "remoteSdp");
1216   }
1217 
1218   void timestamp()(double timestamp)
1219   {
1220     Object_Call_double__void(this.handle, "timestamp", timestamp);
1221   }
1222 
1223   double timestamp()()
1224   {
1225     return Object_Getter__double(this.handle, "timestamp");
1226   }
1227 
1228   void iceRestarts()(uint iceRestarts)
1229   {
1230     Object_Call_uint__void(this.handle, "iceRestarts", iceRestarts);
1231   }
1232 
1233   uint iceRestarts()()
1234   {
1235     return Object_Getter__uint(this.handle, "iceRestarts");
1236   }
1237 
1238   void iceRollbacks()(uint iceRollbacks)
1239   {
1240     Object_Call_uint__void(this.handle, "iceRollbacks", iceRollbacks);
1241   }
1242 
1243   uint iceRollbacks()()
1244   {
1245     return Object_Getter__uint(this.handle, "iceRollbacks");
1246   }
1247 
1248   void offerer()(bool offerer)
1249   {
1250     Object_Call_bool__void(this.handle, "offerer", offerer);
1251   }
1252 
1253   bool offerer()()
1254   {
1255     return Object_Getter__bool(this.handle, "offerer");
1256   }
1257 
1258   void closed()(bool closed)
1259   {
1260     Object_Call_bool__void(this.handle, "closed", closed);
1261   }
1262 
1263   bool closed()()
1264   {
1265     return Object_Getter__bool(this.handle, "closed");
1266   }
1267 
1268   void trickledIceCandidateStats()(
1269     scope ref Sequence!(RTCIceCandidateStats) trickledIceCandidateStats)
1270   {
1271     Object_Call_Handle__void(this.handle, "trickledIceCandidateStats", trickledIceCandidateStats
1272         .handle);
1273   }
1274 
1275   auto trickledIceCandidateStats()()
1276   {
1277     return Sequence!(RTCIceCandidateStats)(Object_Getter__Handle(this.handle, "trickledIceCandidateStats"));
1278   }
1279 
1280   void rawLocalCandidates()(scope ref Sequence!(string) rawLocalCandidates)
1281   {
1282     Object_Call_Handle__void(this.handle, "rawLocalCandidates", rawLocalCandidates.handle);
1283   }
1284 
1285   auto rawLocalCandidates()()
1286   {
1287     return Sequence!(string)(Object_Getter__Handle(this.handle, "rawLocalCandidates"));
1288   }
1289 
1290   void rawRemoteCandidates()(scope ref Sequence!(string) rawRemoteCandidates)
1291   {
1292     Object_Call_Handle__void(this.handle, "rawRemoteCandidates", rawRemoteCandidates.handle);
1293   }
1294 
1295   auto rawRemoteCandidates()()
1296   {
1297     return Sequence!(string)(Object_Getter__Handle(this.handle, "rawRemoteCandidates"));
1298   }
1299 }
1300 
1301 enum RTCStatsType
1302 {
1303   inbound_rtp,
1304   outbound_rtp,
1305   remote_inbound_rtp,
1306   remote_outbound_rtp,
1307   csrc,
1308   session,
1309   track,
1310   transport,
1311   candidate_pair,
1312   local_candidate,
1313   remote_candidate
1314 }
1315 
1316 struct RTCTransportStats
1317 {
1318 nothrow:
1319   libwasm.bindings.RTCStatsReport.RTCStats _parent;
1320   alias _parent this;
1321   this(Handle h)
1322   {
1323     _parent = .RTCStats(h);
1324   }
1325 
1326   static auto create()
1327   {
1328     return RTCTransportStats(libwasm_add__object());
1329   }
1330 
1331   void bytesSent()(uint bytesSent)
1332   {
1333     Object_Call_uint__void(this._parent, "bytesSent", bytesSent);
1334   }
1335 
1336   uint bytesSent()()
1337   {
1338     return Object_Getter__uint(this._parent, "bytesSent");
1339   }
1340 
1341   void bytesReceived()(uint bytesReceived)
1342   {
1343     Object_Call_uint__void(this._parent, "bytesReceived", bytesReceived);
1344   }
1345 
1346   uint bytesReceived()()
1347   {
1348     return Object_Getter__uint(this._parent, "bytesReceived");
1349   }
1350 }
1351 
1352 extern (C) uint Maplike_string_Handle_size(Handle);
1353 extern (C) void Maplike_string_Handle_clear(Handle);
1354 extern (C) void Maplike_string_Handle_delete(Handle, string key);
1355 extern (C) Handle Maplike_string_Handle_entries(Handle);
1356 extern (C) void Maplike_string_Handle_forEach(Handle, void delegate(string, Handle, Handle));
1357 extern (C) JsObject Maplike_string_Handle_get(Handle, string);
1358 extern (C) bool Maplike_string_Handle_has(Handle, string);
1359 extern (C) Handle Maplike_string_Handle_keys(Handle);
1360 extern (C) void Maplike_string_Handle_set(Handle, string key, Handle value);
1361 extern (C) Handle Maplike_string_Handle_values(Handle);