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