1 module libwasm.bindings.RTCIdentityProvider; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 @safe: 7 nothrow: 8 9 alias GenerateAssertionCallback = JsPromise!(RTCIdentityAssertionResult) delegate(string, string, RTCIdentityProviderOptions); 10 struct RTCIdentityAssertionResult { 11 nothrow: 12 JsHandle handle; 13 alias handle this; 14 this(Handle h) { 15 this.handle = JsHandle(h); 16 } 17 static auto create() { 18 return RTCIdentityAssertionResult(libwasm_add__object()); 19 } 20 void idp()(scope ref RTCIdentityProviderDetails idp) { 21 Object_Call_Handle__void(this.handle, "idp", idp.handle); 22 } 23 auto idp()() { 24 return RTCIdentityProviderDetails(Object_Getter__Handle(this.handle, "idp")); 25 } 26 void assertion()(string assertion) { 27 Object_Call_string__void(this.handle, "assertion", assertion); 28 } 29 string assertion()() { 30 return Object_Getter__string(this.handle, "assertion"); 31 } 32 } 33 struct RTCIdentityProvider { 34 nothrow: 35 JsHandle handle; 36 alias handle this; 37 this(Handle h) { 38 this.handle = JsHandle(h); 39 } 40 static auto create() { 41 return RTCIdentityProvider(libwasm_add__object()); 42 } 43 void generateAssertion()(GenerateAssertionCallback generateAssertion) { 44 RTCIdentityProvider_generateAssertion_Set(this.handle, generateAssertion); 45 } 46 GenerateAssertionCallback generateAssertion()() { 47 return RTCIdentityProvider_generateAssertion_Get(this.handle); 48 } 49 void validateAssertion()(ValidateAssertionCallback validateAssertion) { 50 RTCIdentityProvider_validateAssertion_Set(this.handle, validateAssertion); 51 } 52 ValidateAssertionCallback validateAssertion()() { 53 return RTCIdentityProvider_validateAssertion_Get(this.handle); 54 } 55 } 56 struct RTCIdentityProviderDetails { 57 nothrow: 58 JsHandle handle; 59 alias handle this; 60 this(Handle h) { 61 this.handle = JsHandle(h); 62 } 63 static auto create() { 64 return RTCIdentityProviderDetails(libwasm_add__object()); 65 } 66 void domain()(string domain) { 67 Object_Call_string__void(this.handle, "domain", domain); 68 } 69 string domain()() { 70 return Object_Getter__string(this.handle, "domain"); 71 } 72 void protocol()(string protocol) { 73 Object_Call_string__void(this.handle, "protocol", protocol); 74 } 75 string protocol()() { 76 return Object_Getter__string(this.handle, "protocol"); 77 } 78 } 79 struct RTCIdentityProviderOptions { 80 nothrow: 81 JsHandle handle; 82 alias handle this; 83 this(Handle h) { 84 this.handle = JsHandle(h); 85 } 86 static auto create() { 87 return RTCIdentityProviderOptions(libwasm_add__object()); 88 } 89 void protocol()(string protocol) { 90 Object_Call_string__void(this.handle, "protocol", protocol); 91 } 92 string protocol()() { 93 return Object_Getter__string(this.handle, "protocol"); 94 } 95 void usernameHint()(string usernameHint) { 96 Object_Call_string__void(this.handle, "usernameHint", usernameHint); 97 } 98 string usernameHint()() { 99 return Object_Getter__string(this.handle, "usernameHint"); 100 } 101 void peerIdentity()(string peerIdentity) { 102 Object_Call_string__void(this.handle, "peerIdentity", peerIdentity); 103 } 104 string peerIdentity()() { 105 return Object_Getter__string(this.handle, "peerIdentity"); 106 } 107 } 108 struct RTCIdentityProviderRegistrar { 109 nothrow: 110 JsHandle handle; 111 alias handle this; 112 this(Handle h) { 113 this.handle = JsHandle(h); 114 } 115 void register()(scope ref RTCIdentityProvider idp) { 116 Object_Call_Handle__void(this.handle, "register", idp.handle); 117 } 118 bool hasIdp()() { 119 return Object_Getter__bool(this.handle, "hasIdp"); 120 } 121 auto generateAssertion()(string contents, string origin, scope ref RTCIdentityProviderOptions options) { 122 return JsPromise!(RTCIdentityAssertionResult)(Serialize_Object_VarArgCall!Handle(this.handle, "generateAssertion", "string;string;Handle", tuple(contents, origin, cast(Handle)options.handle))); 123 } 124 auto generateAssertion()(string contents, string origin) { 125 return JsPromise!(RTCIdentityAssertionResult)(Object_Call_string_string__Handle(this.handle, "generateAssertion", contents, origin)); 126 } 127 auto validateAssertion()(string assertion, string origin) { 128 return JsPromise!(RTCIdentityValidationResult)(Object_Call_string_string__Handle(this.handle, "validateAssertion", assertion, origin)); 129 } 130 } 131 struct RTCIdentityValidationResult { 132 nothrow: 133 JsHandle handle; 134 alias handle this; 135 this(Handle h) { 136 this.handle = JsHandle(h); 137 } 138 static auto create() { 139 return RTCIdentityValidationResult(libwasm_add__object()); 140 } 141 void identity()(string identity) { 142 Object_Call_string__void(this.handle, "identity", identity); 143 } 144 string identity()() { 145 return Object_Getter__string(this.handle, "identity"); 146 } 147 void contents()(string contents) { 148 Object_Call_string__void(this.handle, "contents", contents); 149 } 150 string contents()() { 151 return Object_Getter__string(this.handle, "contents"); 152 } 153 } 154 alias ValidateAssertionCallback = JsPromise!(RTCIdentityValidationResult) delegate(string, string); 155 156 157 extern (C) void RTCIdentityProvider_generateAssertion_Set(Handle, GenerateAssertionCallback); 158 extern (C) GenerateAssertionCallback RTCIdentityProvider_generateAssertion_Get(Handle); 159 extern (C) void RTCIdentityProvider_validateAssertion_Set(Handle, ValidateAssertionCallback); 160 extern (C) ValidateAssertionCallback RTCIdentityProvider_validateAssertion_Get(Handle);