1 module libwasm.bindings.PresentationConnection;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.Blob;
7 import libwasm.bindings.EventHandler;
8 import libwasm.bindings.EventTarget;
9 
10 @safe:
11 nothrow:
12 
13 struct PresentationConnection {
14   nothrow:
15   libwasm.bindings.EventTarget.EventTarget _parent;
16   alias _parent this;
17   this(Handle h) {
18     _parent = .EventTarget(h);
19   }
20   string id()() {
21     return Object_Getter__string(this._parent, "id");
22   }
23   string url()() {
24     return Object_Getter__string(this._parent, "url");
25   }
26   PresentationConnectionState state()() {
27     return Object_Getter__int(this._parent, "state");
28   }
29   void onconnect(T0)(scope auto ref Optional!(T0) onconnect) if (isTOrPointer!(T0, EventHandlerNonNull)) {
30     Object_Call_EventHandler__void(this._parent, "onconnect", !onconnect.empty, onconnect.front);
31   }
32   EventHandler onconnect()() {
33     return Object_Getter__EventHandler(this._parent, "onconnect");
34   }
35   void onclose(T0)(scope auto ref Optional!(T0) onclose) if (isTOrPointer!(T0, EventHandlerNonNull)) {
36     Object_Call_EventHandler__void(this._parent, "onclose", !onclose.empty, onclose.front);
37   }
38   EventHandler onclose()() {
39     return Object_Getter__EventHandler(this._parent, "onclose");
40   }
41   void onterminate(T0)(scope auto ref Optional!(T0) onterminate) if (isTOrPointer!(T0, EventHandlerNonNull)) {
42     Object_Call_EventHandler__void(this._parent, "onterminate", !onterminate.empty, onterminate.front);
43   }
44   EventHandler onterminate()() {
45     return Object_Getter__EventHandler(this._parent, "onterminate");
46   }
47   void binaryType()(PresentationConnectionBinaryType binaryType) {
48     Object_Call_int__void(this._parent, "binaryType", binaryType);
49   }
50   PresentationConnectionBinaryType binaryType()() {
51     return Object_Getter__int(this._parent, "binaryType");
52   }
53   void send()(string data) {
54     Object_Call_string__void(this._parent, "send", data);
55   }
56   void send()(scope ref Blob data) {
57     Object_Call_Handle__void(this._parent, "send", data.handle);
58   }
59   void send()(scope ref ArrayBuffer data) {
60     Object_Call_Handle__void(this._parent, "send", data.handle);
61   }
62   void send()(scope ref ArrayBufferView data) {
63     Object_Call_Handle__void(this._parent, "send", data.handle);
64   }
65   void onmessage(T0)(scope auto ref Optional!(T0) onmessage) if (isTOrPointer!(T0, EventHandlerNonNull)) {
66     Object_Call_EventHandler__void(this._parent, "onmessage", !onmessage.empty, onmessage.front);
67   }
68   EventHandler onmessage()() {
69     return Object_Getter__EventHandler(this._parent, "onmessage");
70   }
71   void close()() {
72     Object_Call__void(this._parent, "close");
73   }
74   void terminate()() {
75     Object_Call__void(this._parent, "terminate");
76   }
77 }
78 enum PresentationConnectionBinaryType {
79   blob,
80   arraybuffer
81 }
82 enum PresentationConnectionState {
83   connecting,
84   connected,
85   closed,
86   terminated
87 }
88 
89