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