1 module libwasm.bindings.MediaKeySystemAccess; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.MediaKeys; 7 8 @safe: 9 nothrow: 10 11 struct MediaKeySystemAccess { 12 nothrow: 13 JsHandle handle; 14 alias handle this; 15 this(Handle h) { 16 this.handle = JsHandle(h); 17 } 18 string keySystem()() { 19 return Object_Getter__string(this.handle, "keySystem"); 20 } 21 auto getConfiguration()() { 22 return MediaKeySystemConfiguration(Object_Getter__Handle(this.handle, "getConfiguration")); 23 } 24 auto createMediaKeys()() { 25 return JsPromise!(MediaKeys)(Object_Getter__Handle(this.handle, "createMediaKeys")); 26 } 27 } 28 struct MediaKeySystemConfiguration { 29 nothrow: 30 JsHandle handle; 31 alias handle this; 32 this(Handle h) { 33 this.handle = JsHandle(h); 34 } 35 static auto create() { 36 return MediaKeySystemConfiguration(libwasm_add__object()); 37 } 38 void label()(string label) { 39 Object_Call_string__void(this.handle, "label", label); 40 } 41 string label()() { 42 return Object_Getter__string(this.handle, "label"); 43 } 44 void initDataTypes()(scope ref Sequence!(string) initDataTypes) { 45 Object_Call_Handle__void(this.handle, "initDataTypes", initDataTypes.handle); 46 } 47 auto initDataTypes()() { 48 return Sequence!(string)(Object_Getter__Handle(this.handle, "initDataTypes")); 49 } 50 void audioCapabilities()(scope ref Sequence!(MediaKeySystemMediaCapability) audioCapabilities) { 51 Object_Call_Handle__void(this.handle, "audioCapabilities", audioCapabilities.handle); 52 } 53 auto audioCapabilities()() { 54 return Sequence!(MediaKeySystemMediaCapability)(Object_Getter__Handle(this.handle, "audioCapabilities")); 55 } 56 void videoCapabilities()(scope ref Sequence!(MediaKeySystemMediaCapability) videoCapabilities) { 57 Object_Call_Handle__void(this.handle, "videoCapabilities", videoCapabilities.handle); 58 } 59 auto videoCapabilities()() { 60 return Sequence!(MediaKeySystemMediaCapability)(Object_Getter__Handle(this.handle, "videoCapabilities")); 61 } 62 void distinctiveIdentifier()(MediaKeysRequirement distinctiveIdentifier) { 63 Object_Call_int__void(this.handle, "distinctiveIdentifier", distinctiveIdentifier); 64 } 65 MediaKeysRequirement distinctiveIdentifier()() { 66 return Object_Getter__int(this.handle, "distinctiveIdentifier"); 67 } 68 void persistentState()(MediaKeysRequirement persistentState) { 69 Object_Call_int__void(this.handle, "persistentState", persistentState); 70 } 71 MediaKeysRequirement persistentState()() { 72 return Object_Getter__int(this.handle, "persistentState"); 73 } 74 void sessionTypes()(scope ref Sequence!(string) sessionTypes) { 75 Object_Call_Handle__void(this.handle, "sessionTypes", sessionTypes.handle); 76 } 77 auto sessionTypes()() { 78 return Sequence!(string)(Object_Getter__Handle(this.handle, "sessionTypes")); 79 } 80 } 81 struct MediaKeySystemMediaCapability { 82 nothrow: 83 JsHandle handle; 84 alias handle this; 85 this(Handle h) { 86 this.handle = JsHandle(h); 87 } 88 static auto create() { 89 return MediaKeySystemMediaCapability(libwasm_add__object()); 90 } 91 void contentType()(string contentType) { 92 Object_Call_string__void(this.handle, "contentType", contentType); 93 } 94 string contentType()() { 95 return Object_Getter__string(this.handle, "contentType"); 96 } 97 void robustness()(string robustness) { 98 Object_Call_string__void(this.handle, "robustness", robustness); 99 } 100 string robustness()() { 101 return Object_Getter__string(this.handle, "robustness"); 102 } 103 } 104 enum MediaKeysRequirement { 105 required, 106 optional, 107 not_allowed 108 } 109 110