1 module libwasm.bindings.MediaKeySession; 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.MediaKeyError; 9 import libwasm.bindings.MediaKeyStatusMap; 10 11 @safe: 12 nothrow: 13 14 struct MediaKeySession { 15 nothrow: 16 libwasm.bindings.EventTarget.EventTarget _parent; 17 alias _parent this; 18 this(Handle h) { 19 _parent = .EventTarget(h); 20 } 21 auto error()() { 22 return recastOpt!(MediaKeyError)(Object_Getter__OptionalHandle(this._parent, "error")); 23 } 24 string sessionId()() { 25 return Object_Getter__string(this._parent, "sessionId"); 26 } 27 double expiration()() { 28 return Object_Getter__double(this._parent, "expiration"); 29 } 30 auto closed()() { 31 return JsPromise!(void)(Object_Getter__Handle(this._parent, "closed")); 32 } 33 auto keyStatuses()() { 34 return MediaKeyStatusMap(Object_Getter__Handle(this._parent, "keyStatuses")); 35 } 36 void onkeystatuseschange(T0)(scope auto ref Optional!(T0) onkeystatuseschange) if (isTOrPointer!(T0, EventHandlerNonNull)) { 37 Object_Call_EventHandler__void(this._parent, "onkeystatuseschange", !onkeystatuseschange.empty, onkeystatuseschange.front); 38 } 39 EventHandler onkeystatuseschange()() { 40 return Object_Getter__EventHandler(this._parent, "onkeystatuseschange"); 41 } 42 void onmessage(T0)(scope auto ref Optional!(T0) onmessage) if (isTOrPointer!(T0, EventHandlerNonNull)) { 43 Object_Call_EventHandler__void(this._parent, "onmessage", !onmessage.empty, onmessage.front); 44 } 45 EventHandler onmessage()() { 46 return Object_Getter__EventHandler(this._parent, "onmessage"); 47 } 48 auto generateRequest()(string initDataType, scope ref BufferSource initData) { 49 return JsPromise!(void)(Serialize_Object_VarArgCall!Handle(this._parent, "generateRequest", "string;Handle", tuple(initDataType, cast(Handle)initData.handle))); 50 } 51 auto load()(string sessionId) { 52 return JsPromise!(bool)(Object_Call_string__Handle(this._parent, "load", sessionId)); 53 } 54 auto update()(scope ref BufferSource response) { 55 return JsPromise!(void)(Object_Call_Handle__Handle(this._parent, "update", response.handle)); 56 } 57 auto close()() { 58 return JsPromise!(void)(Object_Getter__Handle(this._parent, "close")); 59 } 60 auto remove()() { 61 return JsPromise!(void)(Object_Getter__Handle(this._parent, "remove")); 62 } 63 } 64 65