1 module libwasm.bindings.SourceBuffer;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.EventHandler;
7 import libwasm.bindings.EventTarget;
8 import libwasm.bindings.TimeRanges;
9 
10 @safe:
11 nothrow:
12 
13 struct SourceBuffer {
14   nothrow:
15   libwasm.bindings.EventTarget.EventTarget _parent;
16   alias _parent this;
17   this(Handle h) {
18     _parent = .EventTarget(h);
19   }
20   void mode()(SourceBufferAppendMode mode) {
21     Object_Call_int__void(this._parent, "mode", mode);
22   }
23   SourceBufferAppendMode mode()() {
24     return Object_Getter__int(this._parent, "mode");
25   }
26   bool updating()() {
27     return Object_Getter__bool(this._parent, "updating");
28   }
29   auto buffered()() {
30     return TimeRanges(Object_Getter__Handle(this._parent, "buffered"));
31   }
32   void timestampOffset()(double timestampOffset) {
33     Object_Call_double__void(this._parent, "timestampOffset", timestampOffset);
34   }
35   double timestampOffset()() {
36     return Object_Getter__double(this._parent, "timestampOffset");
37   }
38   void appendWindowStart()(double appendWindowStart) {
39     Object_Call_double__void(this._parent, "appendWindowStart", appendWindowStart);
40   }
41   double appendWindowStart()() {
42     return Object_Getter__double(this._parent, "appendWindowStart");
43   }
44   void appendWindowEnd()(double appendWindowEnd) {
45     Object_Call_double__void(this._parent, "appendWindowEnd", appendWindowEnd);
46   }
47   double appendWindowEnd()() {
48     return Object_Getter__double(this._parent, "appendWindowEnd");
49   }
50   void onupdatestart(T0)(scope auto ref Optional!(T0) onupdatestart) if (isTOrPointer!(T0, EventHandlerNonNull)) {
51     Object_Call_EventHandler__void(this._parent, "onupdatestart", !onupdatestart.empty, onupdatestart.front);
52   }
53   EventHandler onupdatestart()() {
54     return Object_Getter__EventHandler(this._parent, "onupdatestart");
55   }
56   void onupdate(T0)(scope auto ref Optional!(T0) onupdate) if (isTOrPointer!(T0, EventHandlerNonNull)) {
57     Object_Call_EventHandler__void(this._parent, "onupdate", !onupdate.empty, onupdate.front);
58   }
59   EventHandler onupdate()() {
60     return Object_Getter__EventHandler(this._parent, "onupdate");
61   }
62   void onupdateend(T0)(scope auto ref Optional!(T0) onupdateend) if (isTOrPointer!(T0, EventHandlerNonNull)) {
63     Object_Call_EventHandler__void(this._parent, "onupdateend", !onupdateend.empty, onupdateend.front);
64   }
65   EventHandler onupdateend()() {
66     return Object_Getter__EventHandler(this._parent, "onupdateend");
67   }
68   void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) {
69     Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front);
70   }
71   EventHandler onerror()() {
72     return Object_Getter__EventHandler(this._parent, "onerror");
73   }
74   void onabort(T0)(scope auto ref Optional!(T0) onabort) if (isTOrPointer!(T0, EventHandlerNonNull)) {
75     Object_Call_EventHandler__void(this._parent, "onabort", !onabort.empty, onabort.front);
76   }
77   EventHandler onabort()() {
78     return Object_Getter__EventHandler(this._parent, "onabort");
79   }
80   void appendBuffer()(scope ref ArrayBuffer data) {
81     Object_Call_Handle__void(this._parent, "appendBuffer", data.handle);
82   }
83   void appendBuffer()(scope ref ArrayBufferView data) {
84     Object_Call_Handle__void(this._parent, "appendBuffer", data.handle);
85   }
86   auto appendBufferAsync()(scope ref ArrayBuffer data) {
87     return JsPromise!(void)(Object_Call_Handle__Handle(this._parent, "appendBufferAsync", data.handle));
88   }
89   auto appendBufferAsync()(scope ref ArrayBufferView data) {
90     return JsPromise!(void)(Object_Call_Handle__Handle(this._parent, "appendBufferAsync", data.handle));
91   }
92   void abort()() {
93     Object_Call__void(this._parent, "abort");
94   }
95   void remove()(double start, double end) {
96     Object_Call_double_double__void(this._parent, "remove", start, end);
97   }
98   auto removeAsync()(double start, double end) {
99     return JsPromise!(void)(Serialize_Object_VarArgCall!Handle(this._parent, "removeAsync", "double;double", tuple(start, end)));
100   }
101   void changeType()(string type) {
102     Object_Call_string__void(this._parent, "changeType", type);
103   }
104 }
105 enum SourceBufferAppendMode {
106   segments,
107   sequence
108 }
109 
110