github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/gcm/apis_js_wasm.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright 2023 The Prime Citizens 3 4 package gcm 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/gcm/bindings" 11 ) 12 13 // MAX_MESSAGE_SIZE returns the value of property "WEBEXT.gcm.MAX_MESSAGE_SIZE". 14 // 15 // The returned bool will be false if there is no such property. 16 func MAX_MESSAGE_SIZE() (ret js.String, ok bool) { 17 ok = js.True == bindings.GetMAX_MESSAGE_SIZE( 18 js.Pointer(&ret), 19 ) 20 21 return 22 } 23 24 // SetMAX_MESSAGE_SIZE sets the value of property "WEBEXT.gcm.MAX_MESSAGE_SIZE" to val. 25 // 26 // It returns false if the property cannot be set. 27 func SetMAX_MESSAGE_SIZE(val js.String) bool { 28 return js.True == bindings.SetMAX_MESSAGE_SIZE( 29 val.Ref()) 30 } 31 32 type OnMessageArgMessage struct { 33 // CollapseKey is "OnMessageArgMessage.collapseKey" 34 // 35 // Optional 36 CollapseKey js.String 37 // Data is "OnMessageArgMessage.data" 38 // 39 // Required 40 Data js.String 41 // From is "OnMessageArgMessage.from" 42 // 43 // Optional 44 From js.String 45 46 FFI_USE bool 47 } 48 49 // FromRef calls UpdateFrom and returns a OnMessageArgMessage with all fields set. 50 func (p OnMessageArgMessage) FromRef(ref js.Ref) OnMessageArgMessage { 51 p.UpdateFrom(ref) 52 return p 53 } 54 55 // New creates a new OnMessageArgMessage in the application heap. 56 func (p OnMessageArgMessage) New() js.Ref { 57 return bindings.OnMessageArgMessageJSLoad( 58 js.Pointer(&p), js.True, 0, 59 ) 60 } 61 62 // UpdateFrom copies value of all fields of the heap object to p. 63 func (p *OnMessageArgMessage) UpdateFrom(ref js.Ref) { 64 bindings.OnMessageArgMessageJSStore( 65 js.Pointer(p), ref, 66 ) 67 } 68 69 // Update writes all fields of the p to the heap object referenced by ref. 70 func (p *OnMessageArgMessage) Update(ref js.Ref) { 71 bindings.OnMessageArgMessageJSLoad( 72 js.Pointer(p), js.False, ref, 73 ) 74 } 75 76 // FreeMembers frees fields with heap reference, if recursive is true 77 // free all heap references reachable from p. 78 func (p *OnMessageArgMessage) FreeMembers(recursive bool) { 79 js.Free( 80 p.CollapseKey.Ref(), 81 p.Data.Ref(), 82 p.From.Ref(), 83 ) 84 p.CollapseKey = p.CollapseKey.FromRef(js.Undefined) 85 p.Data = p.Data.FromRef(js.Undefined) 86 p.From = p.From.FromRef(js.Undefined) 87 } 88 89 type OnSendErrorArgError struct { 90 // Details is "OnSendErrorArgError.details" 91 // 92 // Required 93 Details js.String 94 // ErrorMessage is "OnSendErrorArgError.errorMessage" 95 // 96 // Required 97 ErrorMessage js.String 98 // MessageId is "OnSendErrorArgError.messageId" 99 // 100 // Optional 101 MessageId js.String 102 103 FFI_USE bool 104 } 105 106 // FromRef calls UpdateFrom and returns a OnSendErrorArgError with all fields set. 107 func (p OnSendErrorArgError) FromRef(ref js.Ref) OnSendErrorArgError { 108 p.UpdateFrom(ref) 109 return p 110 } 111 112 // New creates a new OnSendErrorArgError in the application heap. 113 func (p OnSendErrorArgError) New() js.Ref { 114 return bindings.OnSendErrorArgErrorJSLoad( 115 js.Pointer(&p), js.True, 0, 116 ) 117 } 118 119 // UpdateFrom copies value of all fields of the heap object to p. 120 func (p *OnSendErrorArgError) UpdateFrom(ref js.Ref) { 121 bindings.OnSendErrorArgErrorJSStore( 122 js.Pointer(p), ref, 123 ) 124 } 125 126 // Update writes all fields of the p to the heap object referenced by ref. 127 func (p *OnSendErrorArgError) Update(ref js.Ref) { 128 bindings.OnSendErrorArgErrorJSLoad( 129 js.Pointer(p), js.False, ref, 130 ) 131 } 132 133 // FreeMembers frees fields with heap reference, if recursive is true 134 // free all heap references reachable from p. 135 func (p *OnSendErrorArgError) FreeMembers(recursive bool) { 136 js.Free( 137 p.Details.Ref(), 138 p.ErrorMessage.Ref(), 139 p.MessageId.Ref(), 140 ) 141 p.Details = p.Details.FromRef(js.Undefined) 142 p.ErrorMessage = p.ErrorMessage.FromRef(js.Undefined) 143 p.MessageId = p.MessageId.FromRef(js.Undefined) 144 } 145 146 type SendArgMessage struct { 147 // Data is "SendArgMessage.data" 148 // 149 // Required 150 Data js.String 151 // DestinationId is "SendArgMessage.destinationId" 152 // 153 // Required 154 DestinationId js.String 155 // MessageId is "SendArgMessage.messageId" 156 // 157 // Required 158 MessageId js.String 159 // TimeToLive is "SendArgMessage.timeToLive" 160 // 161 // Optional 162 // 163 // NOTE: FFI_USE_TimeToLive MUST be set to true to make this field effective. 164 TimeToLive int64 165 166 FFI_USE_TimeToLive bool // for TimeToLive. 167 168 FFI_USE bool 169 } 170 171 // FromRef calls UpdateFrom and returns a SendArgMessage with all fields set. 172 func (p SendArgMessage) FromRef(ref js.Ref) SendArgMessage { 173 p.UpdateFrom(ref) 174 return p 175 } 176 177 // New creates a new SendArgMessage in the application heap. 178 func (p SendArgMessage) New() js.Ref { 179 return bindings.SendArgMessageJSLoad( 180 js.Pointer(&p), js.True, 0, 181 ) 182 } 183 184 // UpdateFrom copies value of all fields of the heap object to p. 185 func (p *SendArgMessage) UpdateFrom(ref js.Ref) { 186 bindings.SendArgMessageJSStore( 187 js.Pointer(p), ref, 188 ) 189 } 190 191 // Update writes all fields of the p to the heap object referenced by ref. 192 func (p *SendArgMessage) Update(ref js.Ref) { 193 bindings.SendArgMessageJSLoad( 194 js.Pointer(p), js.False, ref, 195 ) 196 } 197 198 // FreeMembers frees fields with heap reference, if recursive is true 199 // free all heap references reachable from p. 200 func (p *SendArgMessage) FreeMembers(recursive bool) { 201 js.Free( 202 p.Data.Ref(), 203 p.DestinationId.Ref(), 204 p.MessageId.Ref(), 205 ) 206 p.Data = p.Data.FromRef(js.Undefined) 207 p.DestinationId = p.DestinationId.FromRef(js.Undefined) 208 p.MessageId = p.MessageId.FromRef(js.Undefined) 209 } 210 211 type OnMessageEventCallbackFunc func(this js.Ref, message *OnMessageArgMessage) js.Ref 212 213 func (fn OnMessageEventCallbackFunc) Register() js.Func[func(message *OnMessageArgMessage)] { 214 return js.RegisterCallback[func(message *OnMessageArgMessage)]( 215 fn, abi.FuncPCABIInternal(fn), 216 ) 217 } 218 219 func (fn OnMessageEventCallbackFunc) DispatchCallback( 220 targetPC uintptr, ctx *js.CallbackContext, 221 ) { 222 args := ctx.Args() 223 if len(args) != 1+1 /* js this */ || 224 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 225 js.ThrowInvalidCallbackInvocation() 226 } 227 var arg0 OnMessageArgMessage 228 arg0.UpdateFrom(args[0+1]) 229 defer arg0.FreeMembers(true) 230 231 if ctx.Return(fn( 232 args[0], 233 234 mark.NoEscape(&arg0), 235 )) { 236 return 237 } 238 239 js.ThrowCallbackValueNotReturned() 240 } 241 242 type OnMessageEventCallback[T any] struct { 243 Fn func(arg T, this js.Ref, message *OnMessageArgMessage) js.Ref 244 Arg T 245 } 246 247 func (cb *OnMessageEventCallback[T]) Register() js.Func[func(message *OnMessageArgMessage)] { 248 return js.RegisterCallback[func(message *OnMessageArgMessage)]( 249 cb, abi.FuncPCABIInternal(cb.Fn), 250 ) 251 } 252 253 func (cb *OnMessageEventCallback[T]) DispatchCallback( 254 targetPC uintptr, ctx *js.CallbackContext, 255 ) { 256 args := ctx.Args() 257 if len(args) != 1+1 /* js this */ || 258 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 259 js.ThrowInvalidCallbackInvocation() 260 } 261 var arg0 OnMessageArgMessage 262 arg0.UpdateFrom(args[0+1]) 263 defer arg0.FreeMembers(true) 264 265 if ctx.Return(cb.Fn( 266 cb.Arg, 267 args[0], 268 269 mark.NoEscape(&arg0), 270 )) { 271 return 272 } 273 274 js.ThrowCallbackValueNotReturned() 275 } 276 277 // HasFuncOnMessage returns true if the function "WEBEXT.gcm.onMessage.addListener" exists. 278 func HasFuncOnMessage() bool { 279 return js.True == bindings.HasFuncOnMessage() 280 } 281 282 // FuncOnMessage returns the function "WEBEXT.gcm.onMessage.addListener". 283 func FuncOnMessage() (fn js.Func[func(callback js.Func[func(message *OnMessageArgMessage)])]) { 284 bindings.FuncOnMessage( 285 js.Pointer(&fn), 286 ) 287 return 288 } 289 290 // OnMessage calls the function "WEBEXT.gcm.onMessage.addListener" directly. 291 func OnMessage(callback js.Func[func(message *OnMessageArgMessage)]) (ret js.Void) { 292 bindings.CallOnMessage( 293 js.Pointer(&ret), 294 callback.Ref(), 295 ) 296 297 return 298 } 299 300 // TryOnMessage calls the function "WEBEXT.gcm.onMessage.addListener" 301 // in a try/catch block and returns (_, err, ok = false) when it went through 302 // the catch clause. 303 func TryOnMessage(callback js.Func[func(message *OnMessageArgMessage)]) (ret js.Void, exception js.Any, ok bool) { 304 ok = js.True == bindings.TryOnMessage( 305 js.Pointer(&ret), js.Pointer(&exception), 306 callback.Ref(), 307 ) 308 309 return 310 } 311 312 // HasFuncOffMessage returns true if the function "WEBEXT.gcm.onMessage.removeListener" exists. 313 func HasFuncOffMessage() bool { 314 return js.True == bindings.HasFuncOffMessage() 315 } 316 317 // FuncOffMessage returns the function "WEBEXT.gcm.onMessage.removeListener". 318 func FuncOffMessage() (fn js.Func[func(callback js.Func[func(message *OnMessageArgMessage)])]) { 319 bindings.FuncOffMessage( 320 js.Pointer(&fn), 321 ) 322 return 323 } 324 325 // OffMessage calls the function "WEBEXT.gcm.onMessage.removeListener" directly. 326 func OffMessage(callback js.Func[func(message *OnMessageArgMessage)]) (ret js.Void) { 327 bindings.CallOffMessage( 328 js.Pointer(&ret), 329 callback.Ref(), 330 ) 331 332 return 333 } 334 335 // TryOffMessage calls the function "WEBEXT.gcm.onMessage.removeListener" 336 // in a try/catch block and returns (_, err, ok = false) when it went through 337 // the catch clause. 338 func TryOffMessage(callback js.Func[func(message *OnMessageArgMessage)]) (ret js.Void, exception js.Any, ok bool) { 339 ok = js.True == bindings.TryOffMessage( 340 js.Pointer(&ret), js.Pointer(&exception), 341 callback.Ref(), 342 ) 343 344 return 345 } 346 347 // HasFuncHasOnMessage returns true if the function "WEBEXT.gcm.onMessage.hasListener" exists. 348 func HasFuncHasOnMessage() bool { 349 return js.True == bindings.HasFuncHasOnMessage() 350 } 351 352 // FuncHasOnMessage returns the function "WEBEXT.gcm.onMessage.hasListener". 353 func FuncHasOnMessage() (fn js.Func[func(callback js.Func[func(message *OnMessageArgMessage)]) bool]) { 354 bindings.FuncHasOnMessage( 355 js.Pointer(&fn), 356 ) 357 return 358 } 359 360 // HasOnMessage calls the function "WEBEXT.gcm.onMessage.hasListener" directly. 361 func HasOnMessage(callback js.Func[func(message *OnMessageArgMessage)]) (ret bool) { 362 bindings.CallHasOnMessage( 363 js.Pointer(&ret), 364 callback.Ref(), 365 ) 366 367 return 368 } 369 370 // TryHasOnMessage calls the function "WEBEXT.gcm.onMessage.hasListener" 371 // in a try/catch block and returns (_, err, ok = false) when it went through 372 // the catch clause. 373 func TryHasOnMessage(callback js.Func[func(message *OnMessageArgMessage)]) (ret bool, exception js.Any, ok bool) { 374 ok = js.True == bindings.TryHasOnMessage( 375 js.Pointer(&ret), js.Pointer(&exception), 376 callback.Ref(), 377 ) 378 379 return 380 } 381 382 type OnMessagesDeletedEventCallbackFunc func(this js.Ref) js.Ref 383 384 func (fn OnMessagesDeletedEventCallbackFunc) Register() js.Func[func()] { 385 return js.RegisterCallback[func()]( 386 fn, abi.FuncPCABIInternal(fn), 387 ) 388 } 389 390 func (fn OnMessagesDeletedEventCallbackFunc) DispatchCallback( 391 targetPC uintptr, ctx *js.CallbackContext, 392 ) { 393 args := ctx.Args() 394 if len(args) != 0+1 /* js this */ || 395 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 396 js.ThrowInvalidCallbackInvocation() 397 } 398 399 if ctx.Return(fn( 400 args[0], 401 )) { 402 return 403 } 404 405 js.ThrowCallbackValueNotReturned() 406 } 407 408 type OnMessagesDeletedEventCallback[T any] struct { 409 Fn func(arg T, this js.Ref) js.Ref 410 Arg T 411 } 412 413 func (cb *OnMessagesDeletedEventCallback[T]) Register() js.Func[func()] { 414 return js.RegisterCallback[func()]( 415 cb, abi.FuncPCABIInternal(cb.Fn), 416 ) 417 } 418 419 func (cb *OnMessagesDeletedEventCallback[T]) DispatchCallback( 420 targetPC uintptr, ctx *js.CallbackContext, 421 ) { 422 args := ctx.Args() 423 if len(args) != 0+1 /* js this */ || 424 targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) { 425 js.ThrowInvalidCallbackInvocation() 426 } 427 428 if ctx.Return(cb.Fn( 429 cb.Arg, 430 args[0], 431 )) { 432 return 433 } 434 435 js.ThrowCallbackValueNotReturned() 436 } 437 438 // HasFuncOnMessagesDeleted returns true if the function "WEBEXT.gcm.onMessagesDeleted.addListener" exists. 439 func HasFuncOnMessagesDeleted() bool { 440 return js.True == bindings.HasFuncOnMessagesDeleted() 441 } 442 443 // FuncOnMessagesDeleted returns the function "WEBEXT.gcm.onMessagesDeleted.addListener". 444 func FuncOnMessagesDeleted() (fn js.Func[func(callback js.Func[func()])]) { 445 bindings.FuncOnMessagesDeleted( 446 js.Pointer(&fn), 447 ) 448 return 449 } 450 451 // OnMessagesDeleted calls the function "WEBEXT.gcm.onMessagesDeleted.addListener" directly. 452 func OnMessagesDeleted(callback js.Func[func()]) (ret js.Void) { 453 bindings.CallOnMessagesDeleted( 454 js.Pointer(&ret), 455 callback.Ref(), 456 ) 457 458 return 459 } 460 461 // TryOnMessagesDeleted calls the function "WEBEXT.gcm.onMessagesDeleted.addListener" 462 // in a try/catch block and returns (_, err, ok = false) when it went through 463 // the catch clause. 464 func TryOnMessagesDeleted(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 465 ok = js.True == bindings.TryOnMessagesDeleted( 466 js.Pointer(&ret), js.Pointer(&exception), 467 callback.Ref(), 468 ) 469 470 return 471 } 472 473 // HasFuncOffMessagesDeleted returns true if the function "WEBEXT.gcm.onMessagesDeleted.removeListener" exists. 474 func HasFuncOffMessagesDeleted() bool { 475 return js.True == bindings.HasFuncOffMessagesDeleted() 476 } 477 478 // FuncOffMessagesDeleted returns the function "WEBEXT.gcm.onMessagesDeleted.removeListener". 479 func FuncOffMessagesDeleted() (fn js.Func[func(callback js.Func[func()])]) { 480 bindings.FuncOffMessagesDeleted( 481 js.Pointer(&fn), 482 ) 483 return 484 } 485 486 // OffMessagesDeleted calls the function "WEBEXT.gcm.onMessagesDeleted.removeListener" directly. 487 func OffMessagesDeleted(callback js.Func[func()]) (ret js.Void) { 488 bindings.CallOffMessagesDeleted( 489 js.Pointer(&ret), 490 callback.Ref(), 491 ) 492 493 return 494 } 495 496 // TryOffMessagesDeleted calls the function "WEBEXT.gcm.onMessagesDeleted.removeListener" 497 // in a try/catch block and returns (_, err, ok = false) when it went through 498 // the catch clause. 499 func TryOffMessagesDeleted(callback js.Func[func()]) (ret js.Void, exception js.Any, ok bool) { 500 ok = js.True == bindings.TryOffMessagesDeleted( 501 js.Pointer(&ret), js.Pointer(&exception), 502 callback.Ref(), 503 ) 504 505 return 506 } 507 508 // HasFuncHasOnMessagesDeleted returns true if the function "WEBEXT.gcm.onMessagesDeleted.hasListener" exists. 509 func HasFuncHasOnMessagesDeleted() bool { 510 return js.True == bindings.HasFuncHasOnMessagesDeleted() 511 } 512 513 // FuncHasOnMessagesDeleted returns the function "WEBEXT.gcm.onMessagesDeleted.hasListener". 514 func FuncHasOnMessagesDeleted() (fn js.Func[func(callback js.Func[func()]) bool]) { 515 bindings.FuncHasOnMessagesDeleted( 516 js.Pointer(&fn), 517 ) 518 return 519 } 520 521 // HasOnMessagesDeleted calls the function "WEBEXT.gcm.onMessagesDeleted.hasListener" directly. 522 func HasOnMessagesDeleted(callback js.Func[func()]) (ret bool) { 523 bindings.CallHasOnMessagesDeleted( 524 js.Pointer(&ret), 525 callback.Ref(), 526 ) 527 528 return 529 } 530 531 // TryHasOnMessagesDeleted calls the function "WEBEXT.gcm.onMessagesDeleted.hasListener" 532 // in a try/catch block and returns (_, err, ok = false) when it went through 533 // the catch clause. 534 func TryHasOnMessagesDeleted(callback js.Func[func()]) (ret bool, exception js.Any, ok bool) { 535 ok = js.True == bindings.TryHasOnMessagesDeleted( 536 js.Pointer(&ret), js.Pointer(&exception), 537 callback.Ref(), 538 ) 539 540 return 541 } 542 543 type OnSendErrorEventCallbackFunc func(this js.Ref, err *OnSendErrorArgError) js.Ref 544 545 func (fn OnSendErrorEventCallbackFunc) Register() js.Func[func(err *OnSendErrorArgError)] { 546 return js.RegisterCallback[func(err *OnSendErrorArgError)]( 547 fn, abi.FuncPCABIInternal(fn), 548 ) 549 } 550 551 func (fn OnSendErrorEventCallbackFunc) DispatchCallback( 552 targetPC uintptr, ctx *js.CallbackContext, 553 ) { 554 args := ctx.Args() 555 if len(args) != 1+1 /* js this */ || 556 targetPC != uintptr(abi.FuncPCABIInternal(fn)) { 557 js.ThrowInvalidCallbackInvocation() 558 } 559 var arg0 OnSendErrorArgError 560 arg0.UpdateFrom(args[0+1]) 561 defer arg0.FreeMembers(true) 562 563 if ctx.Return(fn( 564 args[0], 565 566 mark.NoEscape(&arg0), 567 )) { 568 return 569 } 570 571 js.ThrowCallbackValueNotReturned() 572 } 573 574 type OnSendErrorEventCallback[T any] struct { 575 Fn func(arg T, this js.Ref, err *OnSendErrorArgError) js.Ref 576 Arg T 577 } 578 579 func (cb *OnSendErrorEventCallback[T]) Register() js.Func[func(err *OnSendErrorArgError)] { 580 return js.RegisterCallback[func(err *OnSendErrorArgError)]( 581 cb, abi.FuncPCABIInternal(cb.Fn), 582 ) 583 } 584 585 func (cb *OnSendErrorEventCallback[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 var arg0 OnSendErrorArgError 594 arg0.UpdateFrom(args[0+1]) 595 defer arg0.FreeMembers(true) 596 597 if ctx.Return(cb.Fn( 598 cb.Arg, 599 args[0], 600 601 mark.NoEscape(&arg0), 602 )) { 603 return 604 } 605 606 js.ThrowCallbackValueNotReturned() 607 } 608 609 // HasFuncOnSendError returns true if the function "WEBEXT.gcm.onSendError.addListener" exists. 610 func HasFuncOnSendError() bool { 611 return js.True == bindings.HasFuncOnSendError() 612 } 613 614 // FuncOnSendError returns the function "WEBEXT.gcm.onSendError.addListener". 615 func FuncOnSendError() (fn js.Func[func(callback js.Func[func(err *OnSendErrorArgError)])]) { 616 bindings.FuncOnSendError( 617 js.Pointer(&fn), 618 ) 619 return 620 } 621 622 // OnSendError calls the function "WEBEXT.gcm.onSendError.addListener" directly. 623 func OnSendError(callback js.Func[func(err *OnSendErrorArgError)]) (ret js.Void) { 624 bindings.CallOnSendError( 625 js.Pointer(&ret), 626 callback.Ref(), 627 ) 628 629 return 630 } 631 632 // TryOnSendError calls the function "WEBEXT.gcm.onSendError.addListener" 633 // in a try/catch block and returns (_, err, ok = false) when it went through 634 // the catch clause. 635 func TryOnSendError(callback js.Func[func(err *OnSendErrorArgError)]) (ret js.Void, exception js.Any, ok bool) { 636 ok = js.True == bindings.TryOnSendError( 637 js.Pointer(&ret), js.Pointer(&exception), 638 callback.Ref(), 639 ) 640 641 return 642 } 643 644 // HasFuncOffSendError returns true if the function "WEBEXT.gcm.onSendError.removeListener" exists. 645 func HasFuncOffSendError() bool { 646 return js.True == bindings.HasFuncOffSendError() 647 } 648 649 // FuncOffSendError returns the function "WEBEXT.gcm.onSendError.removeListener". 650 func FuncOffSendError() (fn js.Func[func(callback js.Func[func(err *OnSendErrorArgError)])]) { 651 bindings.FuncOffSendError( 652 js.Pointer(&fn), 653 ) 654 return 655 } 656 657 // OffSendError calls the function "WEBEXT.gcm.onSendError.removeListener" directly. 658 func OffSendError(callback js.Func[func(err *OnSendErrorArgError)]) (ret js.Void) { 659 bindings.CallOffSendError( 660 js.Pointer(&ret), 661 callback.Ref(), 662 ) 663 664 return 665 } 666 667 // TryOffSendError calls the function "WEBEXT.gcm.onSendError.removeListener" 668 // in a try/catch block and returns (_, err, ok = false) when it went through 669 // the catch clause. 670 func TryOffSendError(callback js.Func[func(err *OnSendErrorArgError)]) (ret js.Void, exception js.Any, ok bool) { 671 ok = js.True == bindings.TryOffSendError( 672 js.Pointer(&ret), js.Pointer(&exception), 673 callback.Ref(), 674 ) 675 676 return 677 } 678 679 // HasFuncHasOnSendError returns true if the function "WEBEXT.gcm.onSendError.hasListener" exists. 680 func HasFuncHasOnSendError() bool { 681 return js.True == bindings.HasFuncHasOnSendError() 682 } 683 684 // FuncHasOnSendError returns the function "WEBEXT.gcm.onSendError.hasListener". 685 func FuncHasOnSendError() (fn js.Func[func(callback js.Func[func(err *OnSendErrorArgError)]) bool]) { 686 bindings.FuncHasOnSendError( 687 js.Pointer(&fn), 688 ) 689 return 690 } 691 692 // HasOnSendError calls the function "WEBEXT.gcm.onSendError.hasListener" directly. 693 func HasOnSendError(callback js.Func[func(err *OnSendErrorArgError)]) (ret bool) { 694 bindings.CallHasOnSendError( 695 js.Pointer(&ret), 696 callback.Ref(), 697 ) 698 699 return 700 } 701 702 // TryHasOnSendError calls the function "WEBEXT.gcm.onSendError.hasListener" 703 // in a try/catch block and returns (_, err, ok = false) when it went through 704 // the catch clause. 705 func TryHasOnSendError(callback js.Func[func(err *OnSendErrorArgError)]) (ret bool, exception js.Any, ok bool) { 706 ok = js.True == bindings.TryHasOnSendError( 707 js.Pointer(&ret), js.Pointer(&exception), 708 callback.Ref(), 709 ) 710 711 return 712 } 713 714 // HasFuncRegister returns true if the function "WEBEXT.gcm.register" exists. 715 func HasFuncRegister() bool { 716 return js.True == bindings.HasFuncRegister() 717 } 718 719 // FuncRegister returns the function "WEBEXT.gcm.register". 720 func FuncRegister() (fn js.Func[func(senderIds js.Array[js.String]) js.Promise[js.String]]) { 721 bindings.FuncRegister( 722 js.Pointer(&fn), 723 ) 724 return 725 } 726 727 // Register calls the function "WEBEXT.gcm.register" directly. 728 func Register(senderIds js.Array[js.String]) (ret js.Promise[js.String]) { 729 bindings.CallRegister( 730 js.Pointer(&ret), 731 senderIds.Ref(), 732 ) 733 734 return 735 } 736 737 // TryRegister calls the function "WEBEXT.gcm.register" 738 // in a try/catch block and returns (_, err, ok = false) when it went through 739 // the catch clause. 740 func TryRegister(senderIds js.Array[js.String]) (ret js.Promise[js.String], exception js.Any, ok bool) { 741 ok = js.True == bindings.TryRegister( 742 js.Pointer(&ret), js.Pointer(&exception), 743 senderIds.Ref(), 744 ) 745 746 return 747 } 748 749 // HasFuncSend returns true if the function "WEBEXT.gcm.send" exists. 750 func HasFuncSend() bool { 751 return js.True == bindings.HasFuncSend() 752 } 753 754 // FuncSend returns the function "WEBEXT.gcm.send". 755 func FuncSend() (fn js.Func[func(message SendArgMessage) js.Promise[js.String]]) { 756 bindings.FuncSend( 757 js.Pointer(&fn), 758 ) 759 return 760 } 761 762 // Send calls the function "WEBEXT.gcm.send" directly. 763 func Send(message SendArgMessage) (ret js.Promise[js.String]) { 764 bindings.CallSend( 765 js.Pointer(&ret), 766 js.Pointer(&message), 767 ) 768 769 return 770 } 771 772 // TrySend calls the function "WEBEXT.gcm.send" 773 // in a try/catch block and returns (_, err, ok = false) when it went through 774 // the catch clause. 775 func TrySend(message SendArgMessage) (ret js.Promise[js.String], exception js.Any, ok bool) { 776 ok = js.True == bindings.TrySend( 777 js.Pointer(&ret), js.Pointer(&exception), 778 js.Pointer(&message), 779 ) 780 781 return 782 } 783 784 // HasFuncUnregister returns true if the function "WEBEXT.gcm.unregister" exists. 785 func HasFuncUnregister() bool { 786 return js.True == bindings.HasFuncUnregister() 787 } 788 789 // FuncUnregister returns the function "WEBEXT.gcm.unregister". 790 func FuncUnregister() (fn js.Func[func() js.Promise[js.Void]]) { 791 bindings.FuncUnregister( 792 js.Pointer(&fn), 793 ) 794 return 795 } 796 797 // Unregister calls the function "WEBEXT.gcm.unregister" directly. 798 func Unregister() (ret js.Promise[js.Void]) { 799 bindings.CallUnregister( 800 js.Pointer(&ret), 801 ) 802 803 return 804 } 805 806 // TryUnregister calls the function "WEBEXT.gcm.unregister" 807 // in a try/catch block and returns (_, err, ok = false) when it went through 808 // the catch clause. 809 func TryUnregister() (ret js.Promise[js.Void], exception js.Any, ok bool) { 810 ok = js.True == bindings.TryUnregister( 811 js.Pointer(&ret), js.Pointer(&exception), 812 ) 813 814 return 815 }