github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/sockets/tcpserver/apis_js_wasm.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright 2023 The Prime Citizens 3 4 package tcpserver 5 6 import ( 7 "github.com/primecitizens/pcz/std/core/abi" 8 "github.com/primecitizens/pcz/std/core/mark" 9 "github.com/primecitizens/pcz/std/ffi/js" 10 "github.com/primecitizens/pcz/std/plat/js/webext/sockets/tcpserver/bindings" 11 ) 12 13 type AcceptErrorInfo struct { 14 // SocketId is "AcceptErrorInfo.socketId" 15 // 16 // Optional 17 // 18 // NOTE: FFI_USE_SocketId MUST be set to true to make this field effective. 19 SocketId int32 20 // ResultCode is "AcceptErrorInfo.resultCode" 21 // 22 // Optional 23 // 24 // NOTE: FFI_USE_ResultCode MUST be set to true to make this field effective. 25 ResultCode int32 26 27 FFI_USE_SocketId bool // for SocketId. 28 FFI_USE_ResultCode bool // for ResultCode. 29 30 FFI_USE bool 31 } 32 33 // FromRef calls UpdateFrom and returns a AcceptErrorInfo with all fields set. 34 func (p AcceptErrorInfo) FromRef(ref js.Ref) AcceptErrorInfo { 35 p.UpdateFrom(ref) 36 return p 37 } 38 39 // New creates a new AcceptErrorInfo in the application heap. 40 func (p AcceptErrorInfo) New() js.Ref { 41 return bindings.AcceptErrorInfoJSLoad( 42 js.Pointer(&p), js.True, 0, 43 ) 44 } 45 46 // UpdateFrom copies value of all fields of the heap object to p. 47 func (p *AcceptErrorInfo) UpdateFrom(ref js.Ref) { 48 bindings.AcceptErrorInfoJSStore( 49 js.Pointer(p), ref, 50 ) 51 } 52 53 // Update writes all fields of the p to the heap object referenced by ref. 54 func (p *AcceptErrorInfo) Update(ref js.Ref) { 55 bindings.AcceptErrorInfoJSLoad( 56 js.Pointer(p), js.False, ref, 57 ) 58 } 59 60 // FreeMembers frees fields with heap reference, if recursive is true 61 // free all heap references reachable from p. 62 func (p *AcceptErrorInfo) FreeMembers(recursive bool) { 63 } 64 65 type AcceptInfo struct { 66 // SocketId is "AcceptInfo.socketId" 67 // 68 // Optional 69 // 70 // NOTE: FFI_USE_SocketId MUST be set to true to make this field effective. 71 SocketId int32 72 // ClientSocketId is "AcceptInfo.clientSocketId" 73 // 74 // Optional 75 // 76 // NOTE: FFI_USE_ClientSocketId MUST be set to true to make this field effective. 77 ClientSocketId int32 78 79 FFI_USE_SocketId bool // for SocketId. 80 FFI_USE_ClientSocketId bool // for ClientSocketId. 81 82 FFI_USE bool 83 } 84 85 // FromRef calls UpdateFrom and returns a AcceptInfo with all fields set. 86 func (p AcceptInfo) FromRef(ref js.Ref) AcceptInfo { 87 p.UpdateFrom(ref) 88 return p 89 } 90 91 // New creates a new AcceptInfo in the application heap. 92 func (p AcceptInfo) New() js.Ref { 93 return bindings.AcceptInfoJSLoad( 94 js.Pointer(&p), js.True, 0, 95 ) 96 } 97 98 // UpdateFrom copies value of all fields of the heap object to p. 99 func (p *AcceptInfo) UpdateFrom(ref js.Ref) { 100 bindings.AcceptInfoJSStore( 101 js.Pointer(p), ref, 102 ) 103 } 104 105 // Update writes all fields of the p to the heap object referenced by ref. 106 func (p *AcceptInfo) Update(ref js.Ref) { 107 bindings.AcceptInfoJSLoad( 108 js.Pointer(p), js.False, ref, 109 ) 110 } 111 112 // FreeMembers frees fields with heap reference, if recursive is true 113 // free all heap references reachable from p. 114 func (p *AcceptInfo) FreeMembers(recursive bool) { 115 } 116 117 type CloseCallbackFunc func(this js.Ref) js.Ref 118 119 func (fn CloseCallbackFunc) Register() js.Func[func()] { 120 return js.RegisterCallback[func()]( 121 fn, abi.FuncPCABIInternal(fn), 122 ) 123 } 124 125 func (fn CloseCallbackFunc) DispatchCallback( 126 targetPC uintptr, ctx *js.CallbackContext, 127 ) { 128 args := ctx.Args() 129 if len(args) != 0+1 /* js this */ || 130 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 131 js.ThrowInvalidCallbackInvocation() 132 } 133 134 if ctx.Return(fn( 135 args[0], 136 )) { 137 return 138 } 139 140 js.ThrowCallbackValueNotReturned() 141 } 142 143 type CloseCallback[T any] struct { 144 Fn func(arg T, this js.Ref) js.Ref 145 Arg T 146 } 147 148 func (cb *CloseCallback[T]) Register() js.Func[func()] { 149 return js.RegisterCallback[func()]( 150 cb, abi.FuncPCABIInternal(cb.Fn), 151 ) 152 } 153 154 func (cb *CloseCallback[T]) DispatchCallback( 155 targetPC uintptr, ctx *js.CallbackContext, 156 ) { 157 args := ctx.Args() 158 if len(args) != 0+1 /* js this */ || 159 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 160 js.ThrowInvalidCallbackInvocation() 161 } 162 163 if ctx.Return(cb.Fn( 164 cb.Arg, 165 args[0], 166 )) { 167 return 168 } 169 170 js.ThrowCallbackValueNotReturned() 171 } 172 173 type CreateCallbackFunc func(this js.Ref, createInfo *CreateInfo) js.Ref 174 175 func (fn CreateCallbackFunc) Register() js.Func[func(createInfo *CreateInfo)] { 176 return js.RegisterCallback[func(createInfo *CreateInfo)]( 177 fn, abi.FuncPCABIInternal(fn), 178 ) 179 } 180 181 func (fn CreateCallbackFunc) DispatchCallback( 182 targetPC uintptr, ctx *js.CallbackContext, 183 ) { 184 args := ctx.Args() 185 if len(args) != 1+1 /* js this */ || 186 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 187 js.ThrowInvalidCallbackInvocation() 188 } 189 var arg0 CreateInfo 190 arg0.UpdateFrom(args[0+1]) 191 defer arg0.FreeMembers(true) 192 193 if ctx.Return(fn( 194 args[0], 195 196 mark.NoEscape(&arg0), 197 )) { 198 return 199 } 200 201 js.ThrowCallbackValueNotReturned() 202 } 203 204 type CreateCallback[T any] struct { 205 Fn func(arg T, this js.Ref, createInfo *CreateInfo) js.Ref 206 Arg T 207 } 208 209 func (cb *CreateCallback[T]) Register() js.Func[func(createInfo *CreateInfo)] { 210 return js.RegisterCallback[func(createInfo *CreateInfo)]( 211 cb, abi.FuncPCABIInternal(cb.Fn), 212 ) 213 } 214 215 func (cb *CreateCallback[T]) DispatchCallback( 216 targetPC uintptr, ctx *js.CallbackContext, 217 ) { 218 args := ctx.Args() 219 if len(args) != 1+1 /* js this */ || 220 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 221 js.ThrowInvalidCallbackInvocation() 222 } 223 var arg0 CreateInfo 224 arg0.UpdateFrom(args[0+1]) 225 defer arg0.FreeMembers(true) 226 227 if ctx.Return(cb.Fn( 228 cb.Arg, 229 args[0], 230 231 mark.NoEscape(&arg0), 232 )) { 233 return 234 } 235 236 js.ThrowCallbackValueNotReturned() 237 } 238 239 type CreateInfo struct { 240 // SocketId is "CreateInfo.socketId" 241 // 242 // Optional 243 // 244 // NOTE: FFI_USE_SocketId MUST be set to true to make this field effective. 245 SocketId int32 246 247 FFI_USE_SocketId bool // for SocketId. 248 249 FFI_USE bool 250 } 251 252 // FromRef calls UpdateFrom and returns a CreateInfo with all fields set. 253 func (p CreateInfo) FromRef(ref js.Ref) CreateInfo { 254 p.UpdateFrom(ref) 255 return p 256 } 257 258 // New creates a new CreateInfo in the application heap. 259 func (p CreateInfo) New() js.Ref { 260 return bindings.CreateInfoJSLoad( 261 js.Pointer(&p), js.True, 0, 262 ) 263 } 264 265 // UpdateFrom copies value of all fields of the heap object to p. 266 func (p *CreateInfo) UpdateFrom(ref js.Ref) { 267 bindings.CreateInfoJSStore( 268 js.Pointer(p), ref, 269 ) 270 } 271 272 // Update writes all fields of the p to the heap object referenced by ref. 273 func (p *CreateInfo) Update(ref js.Ref) { 274 bindings.CreateInfoJSLoad( 275 js.Pointer(p), js.False, ref, 276 ) 277 } 278 279 // FreeMembers frees fields with heap reference, if recursive is true 280 // free all heap references reachable from p. 281 func (p *CreateInfo) FreeMembers(recursive bool) { 282 } 283 284 type DisconnectCallbackFunc func(this js.Ref) js.Ref 285 286 func (fn DisconnectCallbackFunc) Register() js.Func[func()] { 287 return js.RegisterCallback[func()]( 288 fn, abi.FuncPCABIInternal(fn), 289 ) 290 } 291 292 func (fn DisconnectCallbackFunc) DispatchCallback( 293 targetPC uintptr, ctx *js.CallbackContext, 294 ) { 295 args := ctx.Args() 296 if len(args) != 0+1 /* js this */ || 297 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 298 js.ThrowInvalidCallbackInvocation() 299 } 300 301 if ctx.Return(fn( 302 args[0], 303 )) { 304 return 305 } 306 307 js.ThrowCallbackValueNotReturned() 308 } 309 310 type DisconnectCallback[T any] struct { 311 Fn func(arg T, this js.Ref) js.Ref 312 Arg T 313 } 314 315 func (cb *DisconnectCallback[T]) Register() js.Func[func()] { 316 return js.RegisterCallback[func()]( 317 cb, abi.FuncPCABIInternal(cb.Fn), 318 ) 319 } 320 321 func (cb *DisconnectCallback[T]) DispatchCallback( 322 targetPC uintptr, ctx *js.CallbackContext, 323 ) { 324 args := ctx.Args() 325 if len(args) != 0+1 /* js this */ || 326 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 327 js.ThrowInvalidCallbackInvocation() 328 } 329 330 if ctx.Return(cb.Fn( 331 cb.Arg, 332 args[0], 333 )) { 334 return 335 } 336 337 js.ThrowCallbackValueNotReturned() 338 } 339 340 type GetInfoCallbackFunc func(this js.Ref, socketInfo *SocketInfo) js.Ref 341 342 func (fn GetInfoCallbackFunc) Register() js.Func[func(socketInfo *SocketInfo)] { 343 return js.RegisterCallback[func(socketInfo *SocketInfo)]( 344 fn, abi.FuncPCABIInternal(fn), 345 ) 346 } 347 348 func (fn GetInfoCallbackFunc) DispatchCallback( 349 targetPC uintptr, ctx *js.CallbackContext, 350 ) { 351 args := ctx.Args() 352 if len(args) != 1+1 /* js this */ || 353 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 354 js.ThrowInvalidCallbackInvocation() 355 } 356 var arg0 SocketInfo 357 arg0.UpdateFrom(args[0+1]) 358 defer arg0.FreeMembers(true) 359 360 if ctx.Return(fn( 361 args[0], 362 363 mark.NoEscape(&arg0), 364 )) { 365 return 366 } 367 368 js.ThrowCallbackValueNotReturned() 369 } 370 371 type GetInfoCallback[T any] struct { 372 Fn func(arg T, this js.Ref, socketInfo *SocketInfo) js.Ref 373 Arg T 374 } 375 376 func (cb *GetInfoCallback[T]) Register() js.Func[func(socketInfo *SocketInfo)] { 377 return js.RegisterCallback[func(socketInfo *SocketInfo)]( 378 cb, abi.FuncPCABIInternal(cb.Fn), 379 ) 380 } 381 382 func (cb *GetInfoCallback[T]) DispatchCallback( 383 targetPC uintptr, ctx *js.CallbackContext, 384 ) { 385 args := ctx.Args() 386 if len(args) != 1+1 /* js this */ || 387 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 388 js.ThrowInvalidCallbackInvocation() 389 } 390 var arg0 SocketInfo 391 arg0.UpdateFrom(args[0+1]) 392 defer arg0.FreeMembers(true) 393 394 if ctx.Return(cb.Fn( 395 cb.Arg, 396 args[0], 397 398 mark.NoEscape(&arg0), 399 )) { 400 return 401 } 402 403 js.ThrowCallbackValueNotReturned() 404 } 405 406 type SocketInfo struct { 407 // SocketId is "SocketInfo.socketId" 408 // 409 // Optional 410 // 411 // NOTE: FFI_USE_SocketId MUST be set to true to make this field effective. 412 SocketId int32 413 // Persistent is "SocketInfo.persistent" 414 // 415 // Optional 416 // 417 // NOTE: FFI_USE_Persistent MUST be set to true to make this field effective. 418 Persistent bool 419 // Name is "SocketInfo.name" 420 // 421 // Optional 422 Name js.String 423 // Paused is "SocketInfo.paused" 424 // 425 // Optional 426 // 427 // NOTE: FFI_USE_Paused MUST be set to true to make this field effective. 428 Paused bool 429 // LocalAddress is "SocketInfo.localAddress" 430 // 431 // Optional 432 LocalAddress js.String 433 // LocalPort is "SocketInfo.localPort" 434 // 435 // Optional 436 // 437 // NOTE: FFI_USE_LocalPort MUST be set to true to make this field effective. 438 LocalPort int32 439 440 FFI_USE_SocketId bool // for SocketId. 441 FFI_USE_Persistent bool // for Persistent. 442 FFI_USE_Paused bool // for Paused. 443 FFI_USE_LocalPort bool // for LocalPort. 444 445 FFI_USE bool 446 } 447 448 // FromRef calls UpdateFrom and returns a SocketInfo with all fields set. 449 func (p SocketInfo) FromRef(ref js.Ref) SocketInfo { 450 p.UpdateFrom(ref) 451 return p 452 } 453 454 // New creates a new SocketInfo in the application heap. 455 func (p SocketInfo) New() js.Ref { 456 return bindings.SocketInfoJSLoad( 457 js.Pointer(&p), js.True, 0, 458 ) 459 } 460 461 // UpdateFrom copies value of all fields of the heap object to p. 462 func (p *SocketInfo) UpdateFrom(ref js.Ref) { 463 bindings.SocketInfoJSStore( 464 js.Pointer(p), ref, 465 ) 466 } 467 468 // Update writes all fields of the p to the heap object referenced by ref. 469 func (p *SocketInfo) Update(ref js.Ref) { 470 bindings.SocketInfoJSLoad( 471 js.Pointer(p), js.False, ref, 472 ) 473 } 474 475 // FreeMembers frees fields with heap reference, if recursive is true 476 // free all heap references reachable from p. 477 func (p *SocketInfo) FreeMembers(recursive bool) { 478 js.Free( 479 p.Name.Ref(), 480 p.LocalAddress.Ref(), 481 ) 482 p.Name = p.Name.FromRef(js.Undefined) 483 p.LocalAddress = p.LocalAddress.FromRef(js.Undefined) 484 } 485 486 type GetSocketsCallbackFunc func(this js.Ref, socketInfos js.Array[SocketInfo]) js.Ref 487 488 func (fn GetSocketsCallbackFunc) Register() js.Func[func(socketInfos js.Array[SocketInfo])] { 489 return js.RegisterCallback[func(socketInfos js.Array[SocketInfo])]( 490 fn, abi.FuncPCABIInternal(fn), 491 ) 492 } 493 494 func (fn GetSocketsCallbackFunc) DispatchCallback( 495 targetPC uintptr, ctx *js.CallbackContext, 496 ) { 497 args := ctx.Args() 498 if len(args) != 1+1 /* js this */ || 499 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 500 js.ThrowInvalidCallbackInvocation() 501 } 502 503 if ctx.Return(fn( 504 args[0], 505 506 js.Array[SocketInfo]{}.FromRef(args[0+1]), 507 )) { 508 return 509 } 510 511 js.ThrowCallbackValueNotReturned() 512 } 513 514 type GetSocketsCallback[T any] struct { 515 Fn func(arg T, this js.Ref, socketInfos js.Array[SocketInfo]) js.Ref 516 Arg T 517 } 518 519 func (cb *GetSocketsCallback[T]) Register() js.Func[func(socketInfos js.Array[SocketInfo])] { 520 return js.RegisterCallback[func(socketInfos js.Array[SocketInfo])]( 521 cb, abi.FuncPCABIInternal(cb.Fn), 522 ) 523 } 524 525 func (cb *GetSocketsCallback[T]) DispatchCallback( 526 targetPC uintptr, ctx *js.CallbackContext, 527 ) { 528 args := ctx.Args() 529 if len(args) != 1+1 /* js this */ || 530 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 531 js.ThrowInvalidCallbackInvocation() 532 } 533 534 if ctx.Return(cb.Fn( 535 cb.Arg, 536 args[0], 537 538 js.Array[SocketInfo]{}.FromRef(args[0+1]), 539 )) { 540 return 541 } 542 543 js.ThrowCallbackValueNotReturned() 544 } 545 546 type ListenCallbackFunc func(this js.Ref, result int32) js.Ref 547 548 func (fn ListenCallbackFunc) Register() js.Func[func(result int32)] { 549 return js.RegisterCallback[func(result int32)]( 550 fn, abi.FuncPCABIInternal(fn), 551 ) 552 } 553 554 func (fn ListenCallbackFunc) DispatchCallback( 555 targetPC uintptr, ctx *js.CallbackContext, 556 ) { 557 args := ctx.Args() 558 if len(args) != 1+1 /* js this */ || 559 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 560 js.ThrowInvalidCallbackInvocation() 561 } 562 563 if ctx.Return(fn( 564 args[0], 565 566 js.Number[int32]{}.FromRef(args[0+1]).Get(), 567 )) { 568 return 569 } 570 571 js.ThrowCallbackValueNotReturned() 572 } 573 574 type ListenCallback[T any] struct { 575 Fn func(arg T, this js.Ref, result int32) js.Ref 576 Arg T 577 } 578 579 func (cb *ListenCallback[T]) Register() js.Func[func(result int32)] { 580 return js.RegisterCallback[func(result int32)]( 581 cb, abi.FuncPCABIInternal(cb.Fn), 582 ) 583 } 584 585 func (cb *ListenCallback[T]) DispatchCallback( 586 targetPC uintptr, ctx *js.CallbackContext, 587 ) { 588 args := ctx.Args() 589 if len(args) != 1+1 /* js this */ || 590 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 591 js.ThrowInvalidCallbackInvocation() 592 } 593 594 if ctx.Return(cb.Fn( 595 cb.Arg, 596 args[0], 597 598 js.Number[int32]{}.FromRef(args[0+1]).Get(), 599 )) { 600 return 601 } 602 603 js.ThrowCallbackValueNotReturned() 604 } 605 606 type SetPausedCallbackFunc func(this js.Ref) js.Ref 607 608 func (fn SetPausedCallbackFunc) Register() js.Func[func()] { 609 return js.RegisterCallback[func()]( 610 fn, abi.FuncPCABIInternal(fn), 611 ) 612 } 613 614 func (fn SetPausedCallbackFunc) DispatchCallback( 615 targetPC uintptr, ctx *js.CallbackContext, 616 ) { 617 args := ctx.Args() 618 if len(args) != 0+1 /* js this */ || 619 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 620 js.ThrowInvalidCallbackInvocation() 621 } 622 623 if ctx.Return(fn( 624 args[0], 625 )) { 626 return 627 } 628 629 js.ThrowCallbackValueNotReturned() 630 } 631 632 type SetPausedCallback[T any] struct { 633 Fn func(arg T, this js.Ref) js.Ref 634 Arg T 635 } 636 637 func (cb *SetPausedCallback[T]) Register() js.Func[func()] { 638 return js.RegisterCallback[func()]( 639 cb, abi.FuncPCABIInternal(cb.Fn), 640 ) 641 } 642 643 func (cb *SetPausedCallback[T]) DispatchCallback( 644 targetPC uintptr, ctx *js.CallbackContext, 645 ) { 646 args := ctx.Args() 647 if len(args) != 0+1 /* js this */ || 648 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 649 js.ThrowInvalidCallbackInvocation() 650 } 651 652 if ctx.Return(cb.Fn( 653 cb.Arg, 654 args[0], 655 )) { 656 return 657 } 658 659 js.ThrowCallbackValueNotReturned() 660 } 661 662 type SocketProperties struct { 663 // Persistent is "SocketProperties.persistent" 664 // 665 // Optional 666 // 667 // NOTE: FFI_USE_Persistent MUST be set to true to make this field effective. 668 Persistent bool 669 // Name is "SocketProperties.name" 670 // 671 // Optional 672 Name js.String 673 674 FFI_USE_Persistent bool // for Persistent. 675 676 FFI_USE bool 677 } 678 679 // FromRef calls UpdateFrom and returns a SocketProperties with all fields set. 680 func (p SocketProperties) FromRef(ref js.Ref) SocketProperties { 681 p.UpdateFrom(ref) 682 return p 683 } 684 685 // New creates a new SocketProperties in the application heap. 686 func (p SocketProperties) New() js.Ref { 687 return bindings.SocketPropertiesJSLoad( 688 js.Pointer(&p), js.True, 0, 689 ) 690 } 691 692 // UpdateFrom copies value of all fields of the heap object to p. 693 func (p *SocketProperties) UpdateFrom(ref js.Ref) { 694 bindings.SocketPropertiesJSStore( 695 js.Pointer(p), ref, 696 ) 697 } 698 699 // Update writes all fields of the p to the heap object referenced by ref. 700 func (p *SocketProperties) Update(ref js.Ref) { 701 bindings.SocketPropertiesJSLoad( 702 js.Pointer(p), js.False, ref, 703 ) 704 } 705 706 // FreeMembers frees fields with heap reference, if recursive is true 707 // free all heap references reachable from p. 708 func (p *SocketProperties) FreeMembers(recursive bool) { 709 js.Free( 710 p.Name.Ref(), 711 ) 712 p.Name = p.Name.FromRef(js.Undefined) 713 } 714 715 type UpdateCallbackFunc func(this js.Ref) js.Ref 716 717 func (fn UpdateCallbackFunc) Register() js.Func[func()] { 718 return js.RegisterCallback[func()]( 719 fn, abi.FuncPCABIInternal(fn), 720 ) 721 } 722 723 func (fn UpdateCallbackFunc) DispatchCallback( 724 targetPC uintptr, ctx *js.CallbackContext, 725 ) { 726 args := ctx.Args() 727 if len(args) != 0+1 /* js this */ || 728 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 729 js.ThrowInvalidCallbackInvocation() 730 } 731 732 if ctx.Return(fn( 733 args[0], 734 )) { 735 return 736 } 737 738 js.ThrowCallbackValueNotReturned() 739 } 740 741 type UpdateCallback[T any] struct { 742 Fn func(arg T, this js.Ref) js.Ref 743 Arg T 744 } 745 746 func (cb *UpdateCallback[T]) Register() js.Func[func()] { 747 return js.RegisterCallback[func()]( 748 cb, abi.FuncPCABIInternal(cb.Fn), 749 ) 750 } 751 752 func (cb *UpdateCallback[T]) DispatchCallback( 753 targetPC uintptr, ctx *js.CallbackContext, 754 ) { 755 args := ctx.Args() 756 if len(args) != 0+1 /* js this */ || 757 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 758 js.ThrowInvalidCallbackInvocation() 759 } 760 761 if ctx.Return(cb.Fn( 762 cb.Arg, 763 args[0], 764 )) { 765 return 766 } 767 768 js.ThrowCallbackValueNotReturned() 769 } 770 771 // HasFuncClose returns true if the function "WEBEXT.sockets.tcpServer.close" exists. 772 func HasFuncClose() bool { 773 return js.True == bindings.HasFuncClose() 774 } 775 776 // FuncClose returns the function "WEBEXT.sockets.tcpServer.close". 777 func FuncClose() (fn js.Func[func(socketId int32, callback js.Func[func()])]) { 778 bindings.FuncClose( 779 js.Pointer(&fn), 780 ) 781 return 782 } 783 784 // Close calls the function "WEBEXT.sockets.tcpServer.close" directly. 785 func Close(socketId int32, callback js.Func[func()]) (ret js.Void) { 786 bindings.CallClose( 787 js.Pointer(&ret), 788 int32(socketId), 789 callback.Ref(), 790 ) 791 792 return 793 } 794 795 // TryClose calls the function "WEBEXT.sockets.tcpServer.close" 796 // in a try/catch block and returns (_, err, ok = false) when it went through 797 // the catch clause. 798 func TryClose(socketId int32, callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 799 ok = js.True == bindings.TryClose( 800 js.Pointer(&ret), js.Pointer(&exception), 801 int32(socketId), 802 callback.Ref(), 803 ) 804 805 return 806 } 807 808 // HasFuncCreate returns true if the function "WEBEXT.sockets.tcpServer.create" exists. 809 func HasFuncCreate() bool { 810 return js.True == bindings.HasFuncCreate() 811 } 812 813 // FuncCreate returns the function "WEBEXT.sockets.tcpServer.create". 814 func FuncCreate() (fn js.Func[func(properties SocketProperties, callback js.Func[func(createInfo *CreateInfo)])]) { 815 bindings.FuncCreate( 816 js.Pointer(&fn), 817 ) 818 return 819 } 820 821 // Create calls the function "WEBEXT.sockets.tcpServer.create" directly. 822 func Create(properties SocketProperties, callback js.Func[func(createInfo *CreateInfo)]) (ret js.Void) { 823 bindings.CallCreate( 824 js.Pointer(&ret), 825 js.Pointer(&properties), 826 callback.Ref(), 827 ) 828 829 return 830 } 831 832 // TryCreate calls the function "WEBEXT.sockets.tcpServer.create" 833 // in a try/catch block and returns (_, err, ok = false) when it went through 834 // the catch clause. 835 func TryCreate(properties SocketProperties, callback js.Func[func(createInfo *CreateInfo)]) (ret js.Void, exception js.Any, ok bool) { 836 ok = js.True == bindings.TryCreate( 837 js.Pointer(&ret), js.Pointer(&exception), 838 js.Pointer(&properties), 839 callback.Ref(), 840 ) 841 842 return 843 } 844 845 // HasFuncDisconnect returns true if the function "WEBEXT.sockets.tcpServer.disconnect" exists. 846 func HasFuncDisconnect() bool { 847 return js.True == bindings.HasFuncDisconnect() 848 } 849 850 // FuncDisconnect returns the function "WEBEXT.sockets.tcpServer.disconnect". 851 func FuncDisconnect() (fn js.Func[func(socketId int32, callback js.Func[func()])]) { 852 bindings.FuncDisconnect( 853 js.Pointer(&fn), 854 ) 855 return 856 } 857 858 // Disconnect calls the function "WEBEXT.sockets.tcpServer.disconnect" directly. 859 func Disconnect(socketId int32, callback js.Func[func()]) (ret js.Void) { 860 bindings.CallDisconnect( 861 js.Pointer(&ret), 862 int32(socketId), 863 callback.Ref(), 864 ) 865 866 return 867 } 868 869 // TryDisconnect calls the function "WEBEXT.sockets.tcpServer.disconnect" 870 // in a try/catch block and returns (_, err, ok = false) when it went through 871 // the catch clause. 872 func TryDisconnect(socketId int32, callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 873 ok = js.True == bindings.TryDisconnect( 874 js.Pointer(&ret), js.Pointer(&exception), 875 int32(socketId), 876 callback.Ref(), 877 ) 878 879 return 880 } 881 882 // HasFuncGetInfo returns true if the function "WEBEXT.sockets.tcpServer.getInfo" exists. 883 func HasFuncGetInfo() bool { 884 return js.True == bindings.HasFuncGetInfo() 885 } 886 887 // FuncGetInfo returns the function "WEBEXT.sockets.tcpServer.getInfo". 888 func FuncGetInfo() (fn js.Func[func(socketId int32, callback js.Func[func(socketInfo *SocketInfo)])]) { 889 bindings.FuncGetInfo( 890 js.Pointer(&fn), 891 ) 892 return 893 } 894 895 // GetInfo calls the function "WEBEXT.sockets.tcpServer.getInfo" directly. 896 func GetInfo(socketId int32, callback js.Func[func(socketInfo *SocketInfo)]) (ret js.Void) { 897 bindings.CallGetInfo( 898 js.Pointer(&ret), 899 int32(socketId), 900 callback.Ref(), 901 ) 902 903 return 904 } 905 906 // TryGetInfo calls the function "WEBEXT.sockets.tcpServer.getInfo" 907 // in a try/catch block and returns (_, err, ok = false) when it went through 908 // the catch clause. 909 func TryGetInfo(socketId int32, callback js.Func[func(socketInfo *SocketInfo)]) (ret js.Void, exception js.Any, ok bool) { 910 ok = js.True == bindings.TryGetInfo( 911 js.Pointer(&ret), js.Pointer(&exception), 912 int32(socketId), 913 callback.Ref(), 914 ) 915 916 return 917 } 918 919 // HasFuncGetSockets returns true if the function "WEBEXT.sockets.tcpServer.getSockets" exists. 920 func HasFuncGetSockets() bool { 921 return js.True == bindings.HasFuncGetSockets() 922 } 923 924 // FuncGetSockets returns the function "WEBEXT.sockets.tcpServer.getSockets". 925 func FuncGetSockets() (fn js.Func[func(callback js.Func[func(socketInfos js.Array[SocketInfo])])]) { 926 bindings.FuncGetSockets( 927 js.Pointer(&fn), 928 ) 929 return 930 } 931 932 // GetSockets calls the function "WEBEXT.sockets.tcpServer.getSockets" directly. 933 func GetSockets(callback js.Func[func(socketInfos js.Array[SocketInfo])]) (ret js.Void) { 934 bindings.CallGetSockets( 935 js.Pointer(&ret), 936 callback.Ref(), 937 ) 938 939 return 940 } 941 942 // TryGetSockets calls the function "WEBEXT.sockets.tcpServer.getSockets" 943 // in a try/catch block and returns (_, err, ok = false) when it went through 944 // the catch clause. 945 func TryGetSockets(callback js.Func[func(socketInfos js.Array[SocketInfo])]) (ret js.Void, exception js.Any, ok bool) { 946 ok = js.True == bindings.TryGetSockets( 947 js.Pointer(&ret), js.Pointer(&exception), 948 callback.Ref(), 949 ) 950 951 return 952 } 953 954 // HasFuncListen returns true if the function "WEBEXT.sockets.tcpServer.listen" exists. 955 func HasFuncListen() bool { 956 return js.True == bindings.HasFuncListen() 957 } 958 959 // FuncListen returns the function "WEBEXT.sockets.tcpServer.listen". 960 func FuncListen() (fn js.Func[func(socketId int32, address js.String, port int32, backlog int32, callback js.Func[func(result int32)])]) { 961 bindings.FuncListen( 962 js.Pointer(&fn), 963 ) 964 return 965 } 966 967 // Listen calls the function "WEBEXT.sockets.tcpServer.listen" directly. 968 func Listen(socketId int32, address js.String, port int32, backlog int32, callback js.Func[func(result int32)]) (ret js.Void) { 969 bindings.CallListen( 970 js.Pointer(&ret), 971 int32(socketId), 972 address.Ref(), 973 int32(port), 974 int32(backlog), 975 callback.Ref(), 976 ) 977 978 return 979 } 980 981 // TryListen calls the function "WEBEXT.sockets.tcpServer.listen" 982 // in a try/catch block and returns (_, err, ok = false) when it went through 983 // the catch clause. 984 func TryListen(socketId int32, address js.String, port int32, backlog int32, callback js.Func[func(result int32)]) (ret js.Void, exception js.Any, ok bool) { 985 ok = js.True == bindings.TryListen( 986 js.Pointer(&ret), js.Pointer(&exception), 987 int32(socketId), 988 address.Ref(), 989 int32(port), 990 int32(backlog), 991 callback.Ref(), 992 ) 993 994 return 995 } 996 997 type OnAcceptEventCallbackFunc func(this js.Ref, info *AcceptInfo) js.Ref 998 999 func (fn OnAcceptEventCallbackFunc) Register() js.Func[func(info *AcceptInfo)] { 1000 return js.RegisterCallback[func(info *AcceptInfo)]( 1001 fn, abi.FuncPCABIInternal(fn), 1002 ) 1003 } 1004 1005 func (fn OnAcceptEventCallbackFunc) DispatchCallback( 1006 targetPC uintptr, ctx *js.CallbackContext, 1007 ) { 1008 args := ctx.Args() 1009 if len(args) != 1+1 /* js this */ || 1010 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 1011 js.ThrowInvalidCallbackInvocation() 1012 } 1013 var arg0 AcceptInfo 1014 arg0.UpdateFrom(args[0+1]) 1015 defer arg0.FreeMembers(true) 1016 1017 if ctx.Return(fn( 1018 args[0], 1019 1020 mark.NoEscape(&arg0), 1021 )) { 1022 return 1023 } 1024 1025 js.ThrowCallbackValueNotReturned() 1026 } 1027 1028 type OnAcceptEventCallback[T any] struct { 1029 Fn func(arg T, this js.Ref, info *AcceptInfo) js.Ref 1030 Arg T 1031 } 1032 1033 func (cb *OnAcceptEventCallback[T]) Register() js.Func[func(info *AcceptInfo)] { 1034 return js.RegisterCallback[func(info *AcceptInfo)]( 1035 cb, abi.FuncPCABIInternal(cb.Fn), 1036 ) 1037 } 1038 1039 func (cb *OnAcceptEventCallback[T]) DispatchCallback( 1040 targetPC uintptr, ctx *js.CallbackContext, 1041 ) { 1042 args := ctx.Args() 1043 if len(args) != 1+1 /* js this */ || 1044 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 1045 js.ThrowInvalidCallbackInvocation() 1046 } 1047 var arg0 AcceptInfo 1048 arg0.UpdateFrom(args[0+1]) 1049 defer arg0.FreeMembers(true) 1050 1051 if ctx.Return(cb.Fn( 1052 cb.Arg, 1053 args[0], 1054 1055 mark.NoEscape(&arg0), 1056 )) { 1057 return 1058 } 1059 1060 js.ThrowCallbackValueNotReturned() 1061 } 1062 1063 // HasFuncOnAccept returns true if the function "WEBEXT.sockets.tcpServer.onAccept.addListener" exists. 1064 func HasFuncOnAccept() bool { 1065 return js.True == bindings.HasFuncOnAccept() 1066 } 1067 1068 // FuncOnAccept returns the function "WEBEXT.sockets.tcpServer.onAccept.addListener". 1069 func FuncOnAccept() (fn js.Func[func(callback js.Func[func(info *AcceptInfo)])]) { 1070 bindings.FuncOnAccept( 1071 js.Pointer(&fn), 1072 ) 1073 return 1074 } 1075 1076 // OnAccept calls the function "WEBEXT.sockets.tcpServer.onAccept.addListener" directly. 1077 func OnAccept(callback js.Func[func(info *AcceptInfo)]) (ret js.Void) { 1078 bindings.CallOnAccept( 1079 js.Pointer(&ret), 1080 callback.Ref(), 1081 ) 1082 1083 return 1084 } 1085 1086 // TryOnAccept calls the function "WEBEXT.sockets.tcpServer.onAccept.addListener" 1087 // in a try/catch block and returns (_, err, ok = false) when it went through 1088 // the catch clause. 1089 func TryOnAccept(callback js.Func[func(info *AcceptInfo)]) (ret js.Void, exception js.Any, ok bool) { 1090 ok = js.True == bindings.TryOnAccept( 1091 js.Pointer(&ret), js.Pointer(&exception), 1092 callback.Ref(), 1093 ) 1094 1095 return 1096 } 1097 1098 // HasFuncOffAccept returns true if the function "WEBEXT.sockets.tcpServer.onAccept.removeListener" exists. 1099 func HasFuncOffAccept() bool { 1100 return js.True == bindings.HasFuncOffAccept() 1101 } 1102 1103 // FuncOffAccept returns the function "WEBEXT.sockets.tcpServer.onAccept.removeListener". 1104 func FuncOffAccept() (fn js.Func[func(callback js.Func[func(info *AcceptInfo)])]) { 1105 bindings.FuncOffAccept( 1106 js.Pointer(&fn), 1107 ) 1108 return 1109 } 1110 1111 // OffAccept calls the function "WEBEXT.sockets.tcpServer.onAccept.removeListener" directly. 1112 func OffAccept(callback js.Func[func(info *AcceptInfo)]) (ret js.Void) { 1113 bindings.CallOffAccept( 1114 js.Pointer(&ret), 1115 callback.Ref(), 1116 ) 1117 1118 return 1119 } 1120 1121 // TryOffAccept calls the function "WEBEXT.sockets.tcpServer.onAccept.removeListener" 1122 // in a try/catch block and returns (_, err, ok = false) when it went through 1123 // the catch clause. 1124 func TryOffAccept(callback js.Func[func(info *AcceptInfo)]) (ret js.Void, exception js.Any, ok bool) { 1125 ok = js.True == bindings.TryOffAccept( 1126 js.Pointer(&ret), js.Pointer(&exception), 1127 callback.Ref(), 1128 ) 1129 1130 return 1131 } 1132 1133 // HasFuncHasOnAccept returns true if the function "WEBEXT.sockets.tcpServer.onAccept.hasListener" exists. 1134 func HasFuncHasOnAccept() bool { 1135 return js.True == bindings.HasFuncHasOnAccept() 1136 } 1137 1138 // FuncHasOnAccept returns the function "WEBEXT.sockets.tcpServer.onAccept.hasListener". 1139 func FuncHasOnAccept() (fn js.Func[func(callback js.Func[func(info *AcceptInfo)]) bool]) { 1140 bindings.FuncHasOnAccept( 1141 js.Pointer(&fn), 1142 ) 1143 return 1144 } 1145 1146 // HasOnAccept calls the function "WEBEXT.sockets.tcpServer.onAccept.hasListener" directly. 1147 func HasOnAccept(callback js.Func[func(info *AcceptInfo)]) (ret bool) { 1148 bindings.CallHasOnAccept( 1149 js.Pointer(&ret), 1150 callback.Ref(), 1151 ) 1152 1153 return 1154 } 1155 1156 // TryHasOnAccept calls the function "WEBEXT.sockets.tcpServer.onAccept.hasListener" 1157 // in a try/catch block and returns (_, err, ok = false) when it went through 1158 // the catch clause. 1159 func TryHasOnAccept(callback js.Func[func(info *AcceptInfo)]) (ret bool, exception js.Any, ok bool) { 1160 ok = js.True == bindings.TryHasOnAccept( 1161 js.Pointer(&ret), js.Pointer(&exception), 1162 callback.Ref(), 1163 ) 1164 1165 return 1166 } 1167 1168 type OnAcceptErrorEventCallbackFunc func(this js.Ref, info *AcceptErrorInfo) js.Ref 1169 1170 func (fn OnAcceptErrorEventCallbackFunc) Register() js.Func[func(info *AcceptErrorInfo)] { 1171 return js.RegisterCallback[func(info *AcceptErrorInfo)]( 1172 fn, abi.FuncPCABIInternal(fn), 1173 ) 1174 } 1175 1176 func (fn OnAcceptErrorEventCallbackFunc) DispatchCallback( 1177 targetPC uintptr, ctx *js.CallbackContext, 1178 ) { 1179 args := ctx.Args() 1180 if len(args) != 1+1 /* js this */ || 1181 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 1182 js.ThrowInvalidCallbackInvocation() 1183 } 1184 var arg0 AcceptErrorInfo 1185 arg0.UpdateFrom(args[0+1]) 1186 defer arg0.FreeMembers(true) 1187 1188 if ctx.Return(fn( 1189 args[0], 1190 1191 mark.NoEscape(&arg0), 1192 )) { 1193 return 1194 } 1195 1196 js.ThrowCallbackValueNotReturned() 1197 } 1198 1199 type OnAcceptErrorEventCallback[T any] struct { 1200 Fn func(arg T, this js.Ref, info *AcceptErrorInfo) js.Ref 1201 Arg T 1202 } 1203 1204 func (cb *OnAcceptErrorEventCallback[T]) Register() js.Func[func(info *AcceptErrorInfo)] { 1205 return js.RegisterCallback[func(info *AcceptErrorInfo)]( 1206 cb, abi.FuncPCABIInternal(cb.Fn), 1207 ) 1208 } 1209 1210 func (cb *OnAcceptErrorEventCallback[T]) DispatchCallback( 1211 targetPC uintptr, ctx *js.CallbackContext, 1212 ) { 1213 args := ctx.Args() 1214 if len(args) != 1+1 /* js this */ || 1215 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 1216 js.ThrowInvalidCallbackInvocation() 1217 } 1218 var arg0 AcceptErrorInfo 1219 arg0.UpdateFrom(args[0+1]) 1220 defer arg0.FreeMembers(true) 1221 1222 if ctx.Return(cb.Fn( 1223 cb.Arg, 1224 args[0], 1225 1226 mark.NoEscape(&arg0), 1227 )) { 1228 return 1229 } 1230 1231 js.ThrowCallbackValueNotReturned() 1232 } 1233 1234 // HasFuncOnAcceptError returns true if the function "WEBEXT.sockets.tcpServer.onAcceptError.addListener" exists. 1235 func HasFuncOnAcceptError() bool { 1236 return js.True == bindings.HasFuncOnAcceptError() 1237 } 1238 1239 // FuncOnAcceptError returns the function "WEBEXT.sockets.tcpServer.onAcceptError.addListener". 1240 func FuncOnAcceptError() (fn js.Func[func(callback js.Func[func(info *AcceptErrorInfo)])]) { 1241 bindings.FuncOnAcceptError( 1242 js.Pointer(&fn), 1243 ) 1244 return 1245 } 1246 1247 // OnAcceptError calls the function "WEBEXT.sockets.tcpServer.onAcceptError.addListener" directly. 1248 func OnAcceptError(callback js.Func[func(info *AcceptErrorInfo)]) (ret js.Void) { 1249 bindings.CallOnAcceptError( 1250 js.Pointer(&ret), 1251 callback.Ref(), 1252 ) 1253 1254 return 1255 } 1256 1257 // TryOnAcceptError calls the function "WEBEXT.sockets.tcpServer.onAcceptError.addListener" 1258 // in a try/catch block and returns (_, err, ok = false) when it went through 1259 // the catch clause. 1260 func TryOnAcceptError(callback js.Func[func(info *AcceptErrorInfo)]) (ret js.Void, exception js.Any, ok bool) { 1261 ok = js.True == bindings.TryOnAcceptError( 1262 js.Pointer(&ret), js.Pointer(&exception), 1263 callback.Ref(), 1264 ) 1265 1266 return 1267 } 1268 1269 // HasFuncOffAcceptError returns true if the function "WEBEXT.sockets.tcpServer.onAcceptError.removeListener" exists. 1270 func HasFuncOffAcceptError() bool { 1271 return js.True == bindings.HasFuncOffAcceptError() 1272 } 1273 1274 // FuncOffAcceptError returns the function "WEBEXT.sockets.tcpServer.onAcceptError.removeListener". 1275 func FuncOffAcceptError() (fn js.Func[func(callback js.Func[func(info *AcceptErrorInfo)])]) { 1276 bindings.FuncOffAcceptError( 1277 js.Pointer(&fn), 1278 ) 1279 return 1280 } 1281 1282 // OffAcceptError calls the function "WEBEXT.sockets.tcpServer.onAcceptError.removeListener" directly. 1283 func OffAcceptError(callback js.Func[func(info *AcceptErrorInfo)]) (ret js.Void) { 1284 bindings.CallOffAcceptError( 1285 js.Pointer(&ret), 1286 callback.Ref(), 1287 ) 1288 1289 return 1290 } 1291 1292 // TryOffAcceptError calls the function "WEBEXT.sockets.tcpServer.onAcceptError.removeListener" 1293 // in a try/catch block and returns (_, err, ok = false) when it went through 1294 // the catch clause. 1295 func TryOffAcceptError(callback js.Func[func(info *AcceptErrorInfo)]) (ret js.Void, exception js.Any, ok bool) { 1296 ok = js.True == bindings.TryOffAcceptError( 1297 js.Pointer(&ret), js.Pointer(&exception), 1298 callback.Ref(), 1299 ) 1300 1301 return 1302 } 1303 1304 // HasFuncHasOnAcceptError returns true if the function "WEBEXT.sockets.tcpServer.onAcceptError.hasListener" exists. 1305 func HasFuncHasOnAcceptError() bool { 1306 return js.True == bindings.HasFuncHasOnAcceptError() 1307 } 1308 1309 // FuncHasOnAcceptError returns the function "WEBEXT.sockets.tcpServer.onAcceptError.hasListener". 1310 func FuncHasOnAcceptError() (fn js.Func[func(callback js.Func[func(info *AcceptErrorInfo)]) bool]) { 1311 bindings.FuncHasOnAcceptError( 1312 js.Pointer(&fn), 1313 ) 1314 return 1315 } 1316 1317 // HasOnAcceptError calls the function "WEBEXT.sockets.tcpServer.onAcceptError.hasListener" directly. 1318 func HasOnAcceptError(callback js.Func[func(info *AcceptErrorInfo)]) (ret bool) { 1319 bindings.CallHasOnAcceptError( 1320 js.Pointer(&ret), 1321 callback.Ref(), 1322 ) 1323 1324 return 1325 } 1326 1327 // TryHasOnAcceptError calls the function "WEBEXT.sockets.tcpServer.onAcceptError.hasListener" 1328 // in a try/catch block and returns (_, err, ok = false) when it went through 1329 // the catch clause. 1330 func TryHasOnAcceptError(callback js.Func[func(info *AcceptErrorInfo)]) (ret bool, exception js.Any, ok bool) { 1331 ok = js.True == bindings.TryHasOnAcceptError( 1332 js.Pointer(&ret), js.Pointer(&exception), 1333 callback.Ref(), 1334 ) 1335 1336 return 1337 } 1338 1339 // HasFuncSetPaused returns true if the function "WEBEXT.sockets.tcpServer.setPaused" exists. 1340 func HasFuncSetPaused() bool { 1341 return js.True == bindings.HasFuncSetPaused() 1342 } 1343 1344 // FuncSetPaused returns the function "WEBEXT.sockets.tcpServer.setPaused". 1345 func FuncSetPaused() (fn js.Func[func(socketId int32, paused bool, callback js.Func[func()])]) { 1346 bindings.FuncSetPaused( 1347 js.Pointer(&fn), 1348 ) 1349 return 1350 } 1351 1352 // SetPaused calls the function "WEBEXT.sockets.tcpServer.setPaused" directly. 1353 func SetPaused(socketId int32, paused bool, callback js.Func[func()]) (ret js.Void) { 1354 bindings.CallSetPaused( 1355 js.Pointer(&ret), 1356 int32(socketId), 1357 js.Bool(bool(paused)), 1358 callback.Ref(), 1359 ) 1360 1361 return 1362 } 1363 1364 // TrySetPaused calls the function "WEBEXT.sockets.tcpServer.setPaused" 1365 // in a try/catch block and returns (_, err, ok = false) when it went through 1366 // the catch clause. 1367 func TrySetPaused(socketId int32, paused bool, callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 1368 ok = js.True == bindings.TrySetPaused( 1369 js.Pointer(&ret), js.Pointer(&exception), 1370 int32(socketId), 1371 js.Bool(bool(paused)), 1372 callback.Ref(), 1373 ) 1374 1375 return 1376 } 1377 1378 // HasFuncUpdate returns true if the function "WEBEXT.sockets.tcpServer.update" exists. 1379 func HasFuncUpdate() bool { 1380 return js.True == bindings.HasFuncUpdate() 1381 } 1382 1383 // FuncUpdate returns the function "WEBEXT.sockets.tcpServer.update". 1384 func FuncUpdate() (fn js.Func[func(socketId int32, properties SocketProperties, callback js.Func[func()])]) { 1385 bindings.FuncUpdate( 1386 js.Pointer(&fn), 1387 ) 1388 return 1389 } 1390 1391 // Update calls the function "WEBEXT.sockets.tcpServer.update" directly. 1392 func Update(socketId int32, properties SocketProperties, callback js.Func[func()]) (ret js.Void) { 1393 bindings.CallUpdate( 1394 js.Pointer(&ret), 1395 int32(socketId), 1396 js.Pointer(&properties), 1397 callback.Ref(), 1398 ) 1399 1400 return 1401 } 1402 1403 // TryUpdate calls the function "WEBEXT.sockets.tcpServer.update" 1404 // in a try/catch block and returns (_, err, ok = false) when it went through 1405 // the catch clause. 1406 func TryUpdate(socketId int32, properties SocketProperties, callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 1407 ok = js.True == bindings.TryUpdate( 1408 js.Pointer(&ret), js.Pointer(&exception), 1409 int32(socketId), 1410 js.Pointer(&properties), 1411 callback.Ref(), 1412 ) 1413 1414 return 1415 }