1 module libwasm.bindings.TCPServerSocket; 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.TCPSocket; 9 10 @safe: 11 nothrow: 12 13 struct ServerSocketOptions { 14 nothrow: 15 JsHandle handle; 16 alias handle this; 17 this(Handle h) { 18 this.handle = JsHandle(h); 19 } 20 static auto create() { 21 return ServerSocketOptions(libwasm_add__object()); 22 } 23 void binaryType()(TCPSocketBinaryType binaryType) { 24 Object_Call_int__void(this.handle, "binaryType", binaryType); 25 } 26 TCPSocketBinaryType binaryType()() { 27 return Object_Getter__int(this.handle, "binaryType"); 28 } 29 } 30 struct TCPServerSocket { 31 nothrow: 32 libwasm.bindings.EventTarget.EventTarget _parent; 33 alias _parent this; 34 this(Handle h) { 35 _parent = .EventTarget(h); 36 } 37 ushort localPort()() { 38 return Object_Getter__ushort(this._parent, "localPort"); 39 } 40 void onconnect(T0)(scope auto ref Optional!(T0) onconnect) if (isTOrPointer!(T0, EventHandlerNonNull)) { 41 Object_Call_EventHandler__void(this._parent, "onconnect", !onconnect.empty, onconnect.front); 42 } 43 EventHandler onconnect()() { 44 return Object_Getter__EventHandler(this._parent, "onconnect"); 45 } 46 void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) { 47 Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front); 48 } 49 EventHandler onerror()() { 50 return Object_Getter__EventHandler(this._parent, "onerror"); 51 } 52 void close()() { 53 Object_Call__void(this._parent, "close"); 54 } 55 } 56 57