1 module libwasm.bindings.UDPMessageEvent; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.Event; 7 8 @safe: 9 nothrow: 10 11 struct UDPMessageEvent { 12 nothrow: 13 libwasm.bindings.Event.Event _parent; 14 alias _parent this; 15 this(Handle h) { 16 _parent = .Event(h); 17 } 18 string remoteAddress()() { 19 return Object_Getter__string(this._parent, "remoteAddress"); 20 } 21 ushort remotePort()() { 22 return Object_Getter__ushort(this._parent, "remotePort"); 23 } 24 auto data()() { 25 return Any(Object_Getter__Handle(this._parent, "data")); 26 } 27 } 28 struct UDPMessageEventInit { 29 nothrow: 30 libwasm.bindings.Event.EventInit _parent; 31 alias _parent this; 32 this(Handle h) { 33 _parent = .EventInit(h); 34 } 35 static auto create() { 36 return UDPMessageEventInit(libwasm_add__object()); 37 } 38 void remoteAddress()(string remoteAddress) { 39 Object_Call_string__void(this._parent, "remoteAddress", remoteAddress); 40 } 41 string remoteAddress()() { 42 return Object_Getter__string(this._parent, "remoteAddress"); 43 } 44 void remotePort()(ushort remotePort) { 45 Serialize_Object_VarArgCall!void(this._parent, "remotePort", "ushort", tuple(remotePort)); 46 } 47 ushort remotePort()() { 48 return Object_Getter__ushort(this._parent, "remotePort"); 49 } 50 void data(T0)(scope auto ref T0 data) { 51 import std.traits : isNumeric, isFloatingPoint, isSomeString; 52 if (isSomeString!T0) { 53 Object_Call_string__void(this._parent, "data", cast(string) data); 54 return; 55 } else if (isNumeric!T0 && !isFloatingPoint!T0) { 56 Object_Call_long__void(this._parent, "data", cast(long) data); 57 return; 58 } else if (isFloatingPoint!T0) { 59 Object_Call_double__void(this._parent, "data", cast(double) data); 60 return; 61 } 62 // Any 63 Handle _handle_data = getOrCreateHandle(data); 64 Object_Call_Handle__void(this._parent, "data", _handle_data); 65 dropHandle!(T0)(_handle_data); 66 } 67 auto data()() { 68 return Any(Object_Getter__Handle(this._parent, "data")); 69 } 70 } 71 72