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