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