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