1 module libwasm.bindings.RTCDataChannel; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.Blob; 7 import libwasm.bindings.EventHandler; 8 import libwasm.bindings.EventTarget; 9 10 @safe: 11 nothrow: 12 13 struct RTCDataChannel { 14 nothrow: 15 libwasm.bindings.EventTarget.EventTarget _parent; 16 alias _parent this; 17 this(Handle h) { 18 _parent = .EventTarget(h); 19 } 20 string label()() { 21 return Object_Getter__string(this._parent, "label"); 22 } 23 bool reliable()() { 24 return Object_Getter__bool(this._parent, "reliable"); 25 } 26 Optional!(ushort) maxPacketLifeTime()() { 27 return RTCDataChannel_maxPacketLifeTime_Get(this._parent); 28 } 29 Optional!(ushort) maxRetransmits()() { 30 return RTCDataChannel_maxRetransmits_Get(this._parent); 31 } 32 RTCDataChannelState readyState()() { 33 return Object_Getter__int(this._parent, "readyState"); 34 } 35 uint bufferedAmount()() { 36 return Object_Getter__uint(this._parent, "bufferedAmount"); 37 } 38 void bufferedAmountLowThreshold()(uint bufferedAmountLowThreshold) { 39 Object_Call_uint__void(this._parent, "bufferedAmountLowThreshold", bufferedAmountLowThreshold); 40 } 41 uint bufferedAmountLowThreshold()() { 42 return Object_Getter__uint(this._parent, "bufferedAmountLowThreshold"); 43 } 44 void onopen(T0)(scope auto ref Optional!(T0) onopen) if (isTOrPointer!(T0, EventHandlerNonNull)) { 45 Object_Call_EventHandler__void(this._parent, "onopen", !onopen.empty, onopen.front); 46 } 47 EventHandler onopen()() { 48 return Object_Getter__EventHandler(this._parent, "onopen"); 49 } 50 void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, EventHandlerNonNull)) { 51 Object_Call_EventHandler__void(this._parent, "onerror", !onerror.empty, onerror.front); 52 } 53 EventHandler onerror()() { 54 return Object_Getter__EventHandler(this._parent, "onerror"); 55 } 56 void onclose(T0)(scope auto ref Optional!(T0) onclose) if (isTOrPointer!(T0, EventHandlerNonNull)) { 57 Object_Call_EventHandler__void(this._parent, "onclose", !onclose.empty, onclose.front); 58 } 59 EventHandler onclose()() { 60 return Object_Getter__EventHandler(this._parent, "onclose"); 61 } 62 void close()() { 63 Object_Call__void(this._parent, "close"); 64 } 65 void onmessage(T0)(scope auto ref Optional!(T0) onmessage) if (isTOrPointer!(T0, EventHandlerNonNull)) { 66 Object_Call_EventHandler__void(this._parent, "onmessage", !onmessage.empty, onmessage.front); 67 } 68 EventHandler onmessage()() { 69 return Object_Getter__EventHandler(this._parent, "onmessage"); 70 } 71 void onbufferedamountlow(T0)(scope auto ref Optional!(T0) onbufferedamountlow) if (isTOrPointer!(T0, EventHandlerNonNull)) { 72 Object_Call_EventHandler__void(this._parent, "onbufferedamountlow", !onbufferedamountlow.empty, onbufferedamountlow.front); 73 } 74 EventHandler onbufferedamountlow()() { 75 return Object_Getter__EventHandler(this._parent, "onbufferedamountlow"); 76 } 77 void binaryType()(RTCDataChannelType binaryType) { 78 Object_Call_int__void(this._parent, "binaryType", binaryType); 79 } 80 RTCDataChannelType binaryType()() { 81 return Object_Getter__int(this._parent, "binaryType"); 82 } 83 void send()(string data) { 84 Object_Call_string__void(this._parent, "send", data); 85 } 86 void send()(scope ref Blob data) { 87 Object_Call_Handle__void(this._parent, "send", data.handle); 88 } 89 void send()(scope ref ArrayBuffer data) { 90 Object_Call_Handle__void(this._parent, "send", data.handle); 91 } 92 void send()(scope ref ArrayBufferView data) { 93 Object_Call_Handle__void(this._parent, "send", data.handle); 94 } 95 string protocol()() { 96 return Object_Getter__string(this._parent, "protocol"); 97 } 98 bool ordered()() { 99 return Object_Getter__bool(this._parent, "ordered"); 100 } 101 ushort id()() { 102 return Object_Getter__ushort(this._parent, "id"); 103 } 104 } 105 enum RTCDataChannelState { 106 connecting, 107 open, 108 closing, 109 closed 110 } 111 enum RTCDataChannelType { 112 arraybuffer, 113 blob 114 } 115 116 117 extern (C) Optional!(ushort) RTCDataChannel_maxPacketLifeTime_Get(Handle); 118 extern (C) Optional!(ushort) RTCDataChannel_maxRetransmits_Get(Handle);