1 module libwasm.bindings.StreamFilter;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.EventHandler;
7 import libwasm.bindings.EventTarget;
8 
9 @safe:
10 nothrow:
11 
12 struct StreamFilter {
13   nothrow:
14   libwasm.bindings.EventTarget.EventTarget _parent;
15   alias _parent this;
16   this(Handle h) {
17     _parent = .EventTarget(h);
18   }
19   auto create()(uint requestId, string addonId) {
20     return StreamFilter(Serialize_Object_VarArgCall!Handle(this._parent, "create", "uint;string", tuple(requestId, addonId)));
21   }
22   void suspend()() {
23     Object_Call__void(this._parent, "suspend");
24   }
25   void resume()() {
26     Object_Call__void(this._parent, "resume");
27   }
28   void close()() {
29     Object_Call__void(this._parent, "close");
30   }
31   void disconnect()() {
32     Object_Call__void(this._parent, "disconnect");
33   }
34   void write()(scope ref SumType!(ArrayBuffer, Uint8Array) data) {
35     Serialize_Object_VarArgCall!void(this._parent, "write", "SumType!(Handle,Handle)", tuple(libwasm.sumtype.match!(((ref data.Types[0] v) => 0),((ref data.Types[1] v) => 1))(data),tuple(libwasm.sumtype.match!(((ref data.Types[0] v) => cast(Handle)v.handle),((ref data.Types[1] v) => Handle.init))(data),libwasm.sumtype.match!(((ref data.Types[0] v) => Handle.init),((ref data.Types[1] v) => cast(Handle)v.handle))(data))));
36   }
37   StreamFilterStatus status()() {
38     return Object_Getter__int(this._parent, "status");
39   }
40   string error()() {
41     return Object_Getter__string(this._parent, "error");
42   }
43   void ondata(T0)(scope auto ref Optional!(T0) ondata) if (isTOrPointer!(T0, EventHandlerNonNull)) {
44     Object_Call_EventHandler__void(this._parent, "ondata", !ondata.empty, ondata.front);
45   }
46   EventHandler ondata()() {
47     return Object_Getter__EventHandler(this._parent, "ondata");
48   }
49   void onstart(T0)(scope auto ref Optional!(T0) onstart) if (isTOrPointer!(T0, EventHandlerNonNull)) {
50     Object_Call_EventHandler__void(this._parent, "onstart", !onstart.empty, onstart.front);
51   }
52   EventHandler onstart()() {
53     return Object_Getter__EventHandler(this._parent, "onstart");
54   }
55   void onstop(T0)(scope auto ref Optional!(T0) onstop) if (isTOrPointer!(T0, EventHandlerNonNull)) {
56     Object_Call_EventHandler__void(this._parent, "onstop", !onstop.empty, onstop.front);
57   }
58   EventHandler onstop()() {
59     return Object_Getter__EventHandler(this._parent, "onstop");
60   }
61   void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) {
62     Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front);
63   }
64   EventHandler onerror()() {
65     return Object_Getter__EventHandler(this._parent, "onerror");
66   }
67 }
68 enum StreamFilterStatus {
69   uninitialized,
70   transferringdata,
71   finishedtransferringdata,
72   suspended,
73   closed,
74   disconnected,
75   failed
76 }
77 
78