1 module libwasm.bindings.RTCTrackEvent;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.Event;
7 import libwasm.bindings.MediaStream;
8 import libwasm.bindings.MediaStreamTrack;
9 import libwasm.bindings.RTCRtpReceiver;
10 import libwasm.bindings.RTCRtpTransceiver;
11 
12 @safe:
13 nothrow:
14 
15 struct RTCTrackEvent {
16   nothrow:
17   libwasm.bindings.Event.Event _parent;
18   alias _parent this;
19   this(Handle h) {
20     _parent = .Event(h);
21   }
22   auto receiver()() {
23     return RTCRtpReceiver(Object_Getter__Handle(this._parent, "receiver"));
24   }
25   auto track()() {
26     return MediaStreamTrack(Object_Getter__Handle(this._parent, "track"));
27   }
28   auto streams()() {
29     return Sequence!(MediaStream)(Object_Getter__Handle(this._parent, "streams"));
30   }
31   auto transceiver()() {
32     return RTCRtpTransceiver(Object_Getter__Handle(this._parent, "transceiver"));
33   }
34 }
35 struct RTCTrackEventInit {
36   nothrow:
37   libwasm.bindings.Event.EventInit _parent;
38   alias _parent this;
39   this(Handle h) {
40     _parent = .EventInit(h);
41   }
42   static auto create() {
43     return RTCTrackEventInit(libwasm_add__object());
44   }
45   void receiver()(scope ref RTCRtpReceiver receiver) {
46     Object_Call_Handle__void(this._parent, "receiver", receiver.handle);
47   }
48   auto receiver()() {
49     return RTCRtpReceiver(Object_Getter__Handle(this._parent, "receiver"));
50   }
51   void track()(scope ref MediaStreamTrack track) {
52     Object_Call_Handle__void(this._parent, "track", track.handle);
53   }
54   auto track()() {
55     return MediaStreamTrack(Object_Getter__Handle(this._parent, "track"));
56   }
57   void streams()(scope ref Sequence!(MediaStream) streams) {
58     Object_Call_Handle__void(this._parent, "streams", streams.handle);
59   }
60   auto streams()() {
61     return Sequence!(MediaStream)(Object_Getter__Handle(this._parent, "streams"));
62   }
63   void transceiver()(scope ref RTCRtpTransceiver transceiver) {
64     Object_Call_Handle__void(this._parent, "transceiver", transceiver.handle);
65   }
66   auto transceiver()() {
67     return RTCRtpTransceiver(Object_Getter__Handle(this._parent, "transceiver"));
68   }
69 }
70 
71